WSO2 매시업 서버
WSO2 Mashup Server이 글은 검증을 위해 인용구가 추가로 필요하다. – · · 책 · · (2021년 4월 (이 템플릿 |
![]() | |
개발자 | WSO2 및 커뮤니티 |
---|---|
초기 릴리즈 | 2008년 1월 28일 |
안정적 해제 | 2.0.2 / 2010년 5월 13일 ( |
기록 위치 | 자바 |
운영 체제 | 크로스 플랫폼 |
다음에서 사용 가능 | 영어 |
유형 | 응용 프로그램 서버 |
면허증 | 아파치 라이선스 2.0 |
웹사이트 | http://wso2.org/projects/mashup |
WSO2 매시업 서버는 자바스크립트 기반 매시업을 호스트하는 오픈소스 매시업 플랫폼이다.Apache Axis2 및 기타 오픈 소스 프로젝트를 기반으로 하며, JavaScript 작성자에게 웹 서비스, 피드, 스크랩된 웹 페이지, 이메일, 인스턴트 메시지를 소비, 구성 및 내보낼 수 있는 기능을 제공한다.소스 코드는 오픈 소스 Apache License에서 자유롭게 사용할 수 있다.매시업 개발과 배치를 위한 런타임 플랫폼을 제공한다.로컬 또는 조직 내에서 다운로드하여 배포할 수 있다.
WSO2 매시업 서버는 매시업이 다른 매시업, 웹 서비스 클라이언트 또는 Ajax 스타일 웹 페이지에서 사용할 수 있는 새로운 웹 서비스를 노출한다는 점에서 웹 서비스 중심이다.웹 서비스의 보안성은 서비스 지향 아키텍처(SOA)를 구축하고 비즈니스 매시업(Mashup)을 구현하는 조직 내에서 웹 서비스를 매력적인 기술로 만든다.
WSO2 매시업 서버는 2012년 12월 8일에 폐기되었다.[1]
매시업 합성 언어로서의 자바스크립트
매시업은 WSO2 매시업 서버에서 서버측 JavaScript를 사용하여 구성된다.E4X와 함께 언어 확장 세트는 다음과 같은 도메인별 기능을 제공한다.
A 헬로 월드
기능을 발휘하다 안녕() { 돌아오다 "헬로 월드"; }
SOAP 웹 서비스 호출
기능을 발휘하다 호출GetVersionService(){ 시합을 하다 버전 = 새로운 WSRequest(); 시합을 하다 옵션들 = 새로운 배열(); 옵션들.비누로 닦아요. = 1.2; 옵션들.WSA를 사용하다 = 1.0; 옵션들.액션 = "http://services.mashup.wso2.org/version/ServiceInterface/getVersionRequest"; 시합을 하다 짐을 싣다 = 무효의; 시합을 하다 결과; 해보다 { 버전.개방된(옵션들,"vms://localhost:7762/services/system/version", 거짓의); 버전.보내다(짐을 싣다); 결과 = 버전.반응E4X; } 잡히다 (e) { 계통.통나무를 하다(e.토스트링(),"error"); 돌아오다 e.토스트링(); } 돌아오다 결과; }
피드 작업
// RSS 2.0 피드를 생성하여 파일에 기록. 기능을 발휘하다 createRss사료() { // 피드 만들기 시합을 하다 먹이다 = 새로운 사료(); 먹이다.feedType = "rss_2.0"; 먹이다.칭호를 붙이다 = "이것은 테스트 피드"; 먹이다.설명 = "이 피드는 RSS 2.0 피드를 생성하기 위해 피드 호스트 객체를 사용하는 것을 보여준다."; 먹이다.연결하다 = "http://mooshup.com/rss20.xml"; // 피드에 항목 만들기 시합을 하다 입장권 = 새로운 엔트리(); 입장권.칭호를 붙이다 = "이것은 시험 입항이다."; 입장권.설명 = "이것은 엔트리 호스트 객체의 사용을 증명하는 샘플 엔트리 입니다."; 먹이다.인서트엔트리(입장권); 시합을 하다 엔트리2 = 새로운 엔트리(); 엔트리2.칭호를 붙이다 = "이것은 또 다른 시험 엔트리다."; 엔트리2.설명 = "이것은 엔트리 호스트 객체의 사용을 증명하는 샘플 엔트리 입니다."; // 항목에 미디어 모듈 추가 시합을 하다 미디어모듈 = 새로운 미디어모듈("http://www.earthshots.org/photos/387.jpg"); 미디어모듈.저작권이다. = 2007년 타드 보우만; 미디어모듈.타자를 치다 = "image/jpeg"; 미디어모듈.썸네일 = "http://www.earthshots.org/photos/387.thumb.jpg"; 엔트리2.addMediaModule(미디어모듈); 먹이다.인서트엔트리(엔트리2); // 새로 만든 피드를 파일에 쓰기 시합을 하다 결과 = 먹이다.writeTo("테스트 생성-rss-feed.xml"); 돌아오다 결과; }
웹 스크래핑
기능을 발휘하다 웹스케이프() { 시합을 하다 구성 = <구성> <시합을 하다-반항하다 이름을 붙이다='반응'> <html-로-xml을 찍다> <http 방법의='겟' url='http://ww2.wso2.org/~빌더/'/> </to-xml> </var-def> </config>; 시합을 하다 스크래퍼 = 새로운 스크레이퍼(구성); 결과 = 스크래퍼.반응하다; 돌아오다 결과; }
이 구문은 웹 하베스트라고 불리는 또 다른 오픈 소스 웹 스크래핑 도구와 동일하다.
APP 작업
기능을 발휘하다 인증된 지속 앱사료() { // APClient 인스턴스 생성 시합을 하다 거래처 = 새로운 APCLIent(); // AtomFeed 인스턴스 생성 시합을 하다 먹이다 = 새로운 아톰피드(); // 클라이언트에 대한 로그인 자격 증명 설정 거래처.자격 증명 = {사용자 이름: "you@email.com", 암호: "xxx", 서비스: "오징어", authtype: "구글"}; // 온라인 피드 검색 중 먹이다 = 거래처.getfeed("http://blog.mooshup.com/feeds/posts/default"); // 피드에서 개별 항목 배열 가져오기 시합을 하다 출품작 = 새로운 배열(); 출품작 = 먹이다.게티엔트리(); // 검색된 피드를 파일에 쓰는 중 먹이다.writeTo("my-file-name.xml"); }
주기적인 작업 스케줄링
// 2초마다 실행할 기능 예약 시합을 하다 uuid = 계통.setInterval('myJavaScriptFunction("parameterValue")), 2000); // 위의 스케줄링된 작업을 중지하는 중 계통.클리어인터벌(uuid);
이메일 보내기
기능을 발휘하다 sendEmail(){ 시합을 하다 이메일을 보내다 = 새로운 이메일("호스트", "좌현", "username", "비밀번호"); 시합을 하다 파일 = 새로운 파일("reason.txt"); 이메일을 보내다.로부터 = "test@wso2.com"; 이메일을 보내다.로 = "test@wso2.com"; // 대안으로 message.to은 문자열의 배열일 수 있다.cc와 bcc도 마찬가지다. 이메일을 보내다.참조하다 = "test@wso2.com"; 이메일을 보내다.bcc = "test@wso2.com"; 이메일을 보내다.주제 = "WSO2 Mashup 서버 1.0 릴리스됨"; 이메일을 보내다.부가자료(파일, "reason.txt"); // 선택적으로 첨부 파일을 추가할 수 있으며, 변수 개수가 있다.각 인수는 File hostObject 또는 파일을 나타내는 문자열일 수 있다. // 이 경우 우리는 두 개의 첨부파일을 보낸다(이것은 파일 호스트 객체 또는 파일의 경로를 사용하여 첨부파일을 보내는 것을 보여준다). 이메일을 보내다.문자 메시지를 보내다 = "WSO2 Mashup 서버 1.0 2008년 1월 28일 출시"; 이메일을 보내다.보내다(); }