Serwer mashupowy WSO2

Serwer mashupowy WSO2
Deweloperzy WSO2 i społeczność
Pierwsze wydanie 28 stycznia 2008 ; 15 lat temu ( 28.01.2008 )
Ostateczne wydanie
2.3.2 / 1 listopada 2011 ; 11 lat temu ( 01.11.2011 )
Napisane w Jawa
System operacyjny Międzyplatformowe
Dostępne w język angielski
Typ Serwer aplikacji
Licencja Licencja Apache 2.0
Strona internetowa wso2 .com /products /mashup-server Edit this at Wikidata

WSO2 Mashup Server to platforma mashup typu open source , która obsługuje mashupy oparte na JavaScript . Opiera się na Apache Axis2 i innych projektach open source i zapewnia autorom JavaScript możliwość konsumowania, komponowania i emitowania usług sieciowych , kanałów informacyjnych, zeskrobanych stron internetowych, poczty e-mail i wiadomości błyskawicznych. Kod źródłowy jest swobodnie dostępny na otwartej licencji Apache . Zapewnia platformę uruchomieniową do tworzenia i wdrażania mashupów. Można go pobrać i wdrożyć lokalnie lub w organizacji.

WSO2 Mashup Server koncentruje się na usługach sieciowych , ponieważ każda mashup udostępnia nową usługę sieciową, z której mogą korzystać inne mashupy, klienci usług sieciowych lub strony internetowe w stylu Ajax. Możliwość zabezpieczenia usług sieciowych sprawia, że ​​są one atrakcyjną technologią w organizacjach wdrażających architekturę zorientowaną na usługi (SOA) oraz w przypadku mashupów biznesowych .

W dniu 8 grudnia 2012 r. Serwer WSO2 Mashup został wycofany, ponieważ jego pozostała funkcjonalność, hosting usług internetowych JavaScript, została przeniesiona do serwera aplikacji WSO2. WSO2 Application Server ostatecznie stał się zestawem rozszerzeń do Apache Tomcat , a hosting JavaScript został dostarczony przez Jaggery w oparciu o Rhino .

JavaScript jako język kompozycji typu mashup

Mashupy są tworzone przy użyciu JavaScript po stronie serwera na serwerze WSO2 Mashup Server. Zestaw rozszerzeń językowych wraz z E4X zapewnia funkcje specyficzne dla domeny, takie jak;

  • Wywoływanie innych usług sieciowych SOAP/REST,
  • Odczytywanie i zapisywanie kanałów RSS/Atom,
  • Skrobanie sieci ,
  • Publikowanie oparte na aplikacji ,
  • Okresowe planowanie zadań,
  • E-mailing i
  • JESTEM

Witaj świecie

  
     
 funkcja  witaj  ()  {  zwróć  „Witaj świecie”  ;  } 

Wywoływanie usługi internetowej SOAP

 
        

        
      
      
      

        funkcja  invokeGetVersionService  (){  var  wersja  =  nowy  WSRequest  ();  var  opcje  =  nowa  tablica  ();  opcje  .  użyjSOAP  =  1,2  ;  opcje  .  użyjWSA  =  1.0  ;  opcje  .  akcja  =  "http://services.mashup.wso2.org/version/ServiceInterface/getVersionRequest"  ;  var  ładunek  =  null  ; 
     

     
         
        
          
       
         zmienny  wynik  ;  spróbuj  {  wersja  .  otwórz  (  opcje  ,  "http://localhost:7762/services/system/version"  ,  false  );  wersja  .  wyślij  (  ładunek  );  wynik  =  wersja  .  odpowiedźE4X  ;  }  złapać  (  e  )  {  system  .  log  (  np  .  toString  (), 
         
    
     
 "błąd"  );  powrót  e  .  do Ciągu  ();  }  zwróć  wynik  ;  } 

Praca z kanałami


  
    
        
      
      
      
     // Tworzenie kanału RSS 2.0 i zapisywanie go do pliku.  function  createRssFeed  ()  {  // Tworzenie kanału  var  feed  =  new  Feed  ();  karmić  .  feedType  =  "rss_2.0"  ;  karmić  .  title  =  "To jest kanał testowy"  ;  karmić  .  description  =  "Ten kanał demonstruje użycie obiektu hosta kanału do tworzenia kanału RSS 2.0."  ;  karmić  .   
 
    
        
      
      
    
 
         link  =  "http://mooshup.com/rss20.xml"  ;  // Tworzenie wpisów w Feed  var  entry  =  new  Entry  ();  wpis  .  title  =  "To jest wpis testowy."  ;  wpis  .  description  =  "To jest przykładowy wpis demonstrujący użycie obiektu hosta Entry."  ;  karmić  .  wstaw wpis  (  wpis  );  var  wpis2  =  nowy  wpis 
      
      
 
    
       
    
      
     ();  wpis2  .  title  =  "To jest kolejny wpis testowy."  ;  wpis2  .  description  =  "To jest przykładowy wpis demonstrujący użycie obiektu hosta Entry."  ;  // Dodanie modułu mediów do wpisu  var  mediaModule  =  new  MediaModule  (  "http://www.earthshots.org/photos/387.jpg"  );  moduł medialny  .  copyright  =  "2007 Tad Bowman"  ;  MediaModuł   
      
    
 
    
 
    
       
 
     .  typ  =  "obraz/jpeg"  ;  moduł medialny  .  thumbnail  =  "http://www.earthshots.org/photos/387.thumb.jpg"  ;  wpis2  .  dodajModułMedia  (  ModułMedia  );  karmić  .  wstawWpis  (  wpis2  );  // Zapisywanie nowo utworzonego kanału informacyjnego do pliku  var  result  =  feed  .  writeTo  (  "test-stworzony-rss-feed.xml"  );  powrót  
 wynik  ;  } 

Skrobanie sieci

  
     
                   
                      
                            
                      
                  
                funkcja  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>  < 

      
    

   
 /konfiguracja>;  var  skrobak  =  nowy  skrobak  (  config  );  wynik  =  skrobak  .  odpowiedź  ;  zwróć  wynik  ;  } 

Składnia jest identyczna z innym narzędziem do skrobania stron internetowych o otwartym kodzie źródłowym, zwanym zbieraniem sieci .

Praca z aplikacją

  
  
      

  
      

  
         function  fixedAuthenticatedAppFeed  ()  {  // Tworzenie instancji APPClient  var  client  =  new  APPClient  ();  // Tworzenie instancji AtomFeed  var  feed  =  new  AtomFeed  ();  // Ustawianie danych logowania dla klienta  client  .  credentials  =  {  nazwa użytkownika  :  "[email protected]"  ,  hasło  :  "xxx"  ,  usługa  :    

  
    

  
      
    

  
   "blogger"  ,  autoryzacja  :  "google"  };  // Pobieranie i kanał online  feed  =  client  .  getFeed  (  "http://blog.mooshup.com/feeds/posts/default"  );  // Pobieranie tablicy pojedynczych wpisów z kanału informacyjnego  var  wpisy  =  nowa  tablica  ();  wpisy  =  kanał  .  pobierz wpisy  ();  // Zapisywanie pobranego kanału do pliku  kanału  .  Napisz do 
 (  "nazwa-mojego-pliku.xml"  );  } 

Okresowe planowanie zadań


    


 // Zaplanowanie wykonywania funkcji co 2 sekundy  var  uuid  =  system  .  setInterval  (  'myJavaScriptFunction("parameterValue")'  ,  2000  );  // Zatrzymanie powyższego zaplanowanego  systemu zadań   .  clearInterval  (  uid  ); 

Wysyłanie wiadomości e-mail

 
         
      
    
     function  sendEmail  (){  var  email  =  new  Email  (  "host"  ,  "port"  ,  "nazwa użytkownika"  ,  "hasło"  );  plik  var  =  nowy  plik  (  "temp.txt"  );  email  .  from  =  "[email protected]"  ;  email  .  do  =  "[email protected]"  ;  
    
    
    
    // alternatywnie message.to może być tablicą ciągów znaków. To samo dotyczy   wiadomości DW i UDW   .  cc  =  "[email protected]"  ;  email  .  bcc  =  "[email protected]"  ;  email  .  topic  =  "Serwer WSO2 Mashup 1.0 wydany"  ;  email  .  addAttachement  (  plik  ,  "temp.txt"  );  
                                          
    
  
 // Opcjonalnie można dodawać załączniki, ma zmienną liczbę argumentów. każdy argument może być obiektem File hostObject lub łańcuchem reprezentującym plik.   // W tym przypadku wysyłamy dwa załączniki (pokazuje to wysyłanie załączników przy użyciu obiektu hosta pliku lub ścieżki do pliku).  email  .  text  =  "Serwer WSO2 Mashup 1.0 został wydany 28 stycznia 2008"  ;  email  .  wyślij  ();  } 

Zobacz też

Linki zewnętrzne