欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
使用 GridSphere 門(mén)戶(hù)框架開(kāi)發(fā)網(wǎng)格 portlet

使用 GridSphere 門(mén)戶(hù)框架開(kāi)發(fā)網(wǎng)格 portlet

 

  在本文中,作者闡述了如何設計和實(shí)現基于 Web 的接口(稱(chēng)為 portlet),以提供使用網(wǎng)格服務(wù)的終端用戶(hù)接口。他解釋了開(kāi)放源代碼門(mén)戶(hù)框架 GridSphere,并提供了 GridSphere 模型中的 portlet 代碼示例。本文還介紹了基于 OGSA 的網(wǎng)格服務(wù)和 GridSphere 的集成,其中包含一個(gè)網(wǎng)格 portlet 示例,展示如何編寫(xiě)一個(gè) portlet 來(lái)訪(fǎng)問(wèn)示例 OGSA 計數器服務(wù)。

簡(jiǎn)介:GridSphere 門(mén)戶(hù)框架
在上一年,基于 Portlet 的門(mén)戶(hù)已成為門(mén)戶(hù)服務(wù)器平臺的最令人興奮的領(lǐng)域之一。Java Specification Request (JSR)168(即 portlet API)的出現將允許門(mén)戶(hù)供應商提供公共編程模型,該模型允許開(kāi)發(fā)人員更快地將新功能插入到門(mén)戶(hù)服務(wù)器中,消費者可以輕松地使用這些功能?,F在,許多門(mén)戶(hù)供應商支持 portlet,包括 IBM WebSphere、Sun One Portal Server、Oracle 9iAS 和 Jakarta Jetspeed 項目。

GridSphere 門(mén)戶(hù) 提供一個(gè)基于 portlet 的高級開(kāi)放源代碼門(mén)戶(hù)。GridSphere 是在歐盟提供基金的 GridLab 項目 下開(kāi)發(fā)的,提供了一個(gè)非常復雜的門(mén)戶(hù),該門(mén)戶(hù)為各種終端用戶(hù)提供高度定制的環(huán)境。portlet 模型向用戶(hù)提供了一個(gè)靈活易用的接口,并向門(mén)戶(hù)開(kāi)發(fā)人員提供了一個(gè)模型,用于創(chuàng )建可插入的和動(dòng)態(tài)的應用程序支持。下面簡(jiǎn)要列出核心的 GridSphere 特性:

  • Portlet API 的實(shí)現與 IBM WebSphere Portal Server 4.2 或更高版本緊密兼容。
  • 易于開(kāi)發(fā)并易于與插入到 GridSphere portlet 容器中的“第三方 portlet”集成。
  • 級別更高的模型,用于使用可視的 bean 和 GridSphere User Interface (UI) 標簽庫構建復雜的 portlet。
  • 靈活的基于 XML 的門(mén)戶(hù)表示描述,可以輕松對其進(jìn)行修改來(lái)創(chuàng )建自定義的門(mén)戶(hù)布局。
  • 對基于角色的訪(fǎng)問(wèn)控制(Role Based Access Control,RBAC)提供內置的支持,RBAC 將用戶(hù)分為 guest、user、admin 和 super user。
  • 復雜的服務(wù)模型,允許創(chuàng )建“用戶(hù)服務(wù)”,可以按照用戶(hù)權限限制服務(wù)方法。
  • 通過(guò) Hibernate for RDBMS 數據庫支持提供數據的持久性。
  • 為 portlet 服務(wù)的服務(wù)端測試集成了 Junit/Cactus 單位測試,包括生成測試報告。
  • GridSphere 核心 portlet 提供基本功能,包括登錄、注銷(xiāo)、用戶(hù)和訪(fǎng)問(wèn)控制管理。

由于 GridSphere portlet API 幾乎與 WebSphere portlet API 完全相同,所以您應該多看看 developerWorks 文章,這些文章在 參考資料 和 IBM WebSphere Portal Zone 中列出。在理論上,使用 IBM WebSphere Portal Server 開(kāi)發(fā)本文中的示例 portlet 應該不難。GridSphere API 與 JSR Portlet API 1.0 最后的規范非常類(lèi)似,gridSphere 的將來(lái)版本是符合 JSR 168 的。

當前的 GridSphere 版本提供了一個(gè)門(mén)戶(hù)、一個(gè) portlet 容器和一組有用的核心 portlet,包括用戶(hù)和組管理以及布局定制和 portlet 訂閱。

安裝 GridSphere
從 http://www.gridsphere.org/ 下載最新的 GridSphere 版本并按照指示安裝該門(mén)戶(hù)。前提條件是您必須在系統中安裝了 Java 技術(shù) Ant 和 Tomcat 4.1.X servlet 容器。安裝了 GridSphere 后,可以只啟動(dòng) Tomcat,然后在 Web 瀏覽器中,單擊 http://127.0.0.1:8080/gridsphere/gridsphere 查看該門(mén)戶(hù)。初始配置允許您以“root”身份登錄,而且不用輸入口令。登錄后,轉至 Administration->Users 選項卡,單擊 root 用戶(hù)來(lái)編輯配置文件。更改口令和其他設置,包括您的登錄名和電子郵件地址。登錄后,您就成為 GridSphere 門(mén)戶(hù)管理員。

圖 1. GridSphere 用戶(hù)管理器 portlet

網(wǎng)格服務(wù)簡(jiǎn)介
在提供對用戶(hù)的虛擬組織(Virtual Organization,VO)內的計算資源和數據資源的安全統一訪(fǎng)問(wèn)方面,門(mén)戶(hù)正變得越來(lái)越復雜,所以網(wǎng)格 portlet 必須依靠某種類(lèi)型的中間件來(lái)執行這些操作。開(kāi)放網(wǎng)格服務(wù)基礎設施(Open Grid Services Infrastructure,OGSI)規定如何創(chuàng )建網(wǎng)格服務(wù),而 OGSI 是整體開(kāi)放網(wǎng)格服務(wù)體系結構(Open Grid Services Architecture,OGSA)的一部分。Globus Toolkit 3.0 (GT3) 提供了 OGSI 的 Java 參考實(shí)現。GT3 提供了強制性網(wǎng)格服務(wù)特性,如服務(wù)調用、生存期管理、服務(wù)數據接口、依賴(lài)底層公鑰基礎設施(Public Key Infrastructure,PKI)的安全接口。網(wǎng)格服務(wù)擴展了 Web 服務(wù),因此在實(shí)際中,編程模型很相似。

簡(jiǎn)而言之,使用 GT3 創(chuàng )建網(wǎng)格服務(wù)的步驟如下所示:

  1. 創(chuàng )建定義服務(wù)接口的 WSDL 接口??梢圆捎霉ぞ咿D換采用 Java 或 C 語(yǔ)言編寫(xiě)現有接口以生成 WSDL。
  2. 使用 GT3 工具從 WSDL 服務(wù)器接口生成客戶(hù)機和服務(wù)器存根(stub)。
  3. 填寫(xiě)服務(wù)器骨架(skeleton)實(shí)現代碼。
  4. 配置服務(wù)部署描述符并部署服務(wù)到宿主容器。

幸運的是,GT3 與一組供我們使用的示例服務(wù)綁定在一起。因此,我們將集中討論使用現有服務(wù)和現有的客戶(hù)機存根代碼來(lái)訪(fǎng)問(wèn)服務(wù)。 幸運的是,您下載的 Tomcat 服務(wù)器還可以充當 OGSI 網(wǎng)格服務(wù)宿主環(huán)境,允許 GridSphere 門(mén)戶(hù)框架和 OGSA GT3 示例服務(wù)一起運行。

下一節準備開(kāi)發(fā)示例 portlet,您應從 Globus Web site 下載最新的 GT3 版本。要構建示例并部署到 Tomcat 容器中,請發(fā)出下列命令,其中 $CATALINA_HOME 設置為下載 Tomcat 的位置。

                        %> ant                        %> ant samples                        %> ant -Dtomcat.dir=$CATALINA_HOME deployTomcat                        

現在,由于示例 portlet 需要一些 GT3 類(lèi),所以需要將 OGSA Web 應用程序的庫復制到 portlet 可以找到的 Tomcat 共享庫目錄。

                        %> cp $CATALINA_HOME/webapps/ogsa/WEB-INF/lib/*.jar $CATALINA_HOME/shared/lib/                        

根據 GT3 User‘s Guide(請參閱“參考資料”),最后一步是將下列條目添加到 $CATALINA_HOME/conf/web.xml 中,配置 Tomcat 以接受 WSDL、GWSDL 和 XSD 文件擴展名:

                        <mime-mapping>                        <extension>gwsdl</extension>                        <mime-type>text/xml</mime-type>                        </mime-mapping>                        <mime-mapping>                        <extension>wsdl</extension>                        <mime-type>text/xml</mime-type>                        </mime-mapping>                        <mime-mapping>                        <extension>xsd</extension>                        <mime-type>text/xml</mime-type>                        </mime-mapping>                        

編寫(xiě)網(wǎng)格計數器服務(wù) portlet
在網(wǎng)格 portlet 示例中,我們使用 Globus Toolkit 提供的示例 OGSI 計數器服務(wù)編寫(xiě)一個(gè)簡(jiǎn)單的加減數字的 portlet。計數器服務(wù)表示為 CounterPortType,它是基 GridService 接口的子類(lèi),有三個(gè)方法,如下面的圖 2 所示:

圖 2. 計數器服務(wù)的 UML 圖

add(int a) subtract(int b) 方法添加或減去提供的值并返回新值。getValue() 方法只返回靜態(tài)計數器值的當前結果。

1. 編寫(xiě) portlet
在計數器 portlet 示例中,用戶(hù)可以輸入整數值,然后單擊 "Add" 或 "Subtract" 按鈕加上或減去計數器服務(wù)的值,并顯示已更新的計數器值。

當第一次實(shí)例化 portlet 時(shí),init() 方法被調用,向該 portlet 提供由任何后續 portlet 請求使用的所有必需的初始信息或配置信息。portlet 編程模型將表示(portlet 的呈現)和邏輯(當某個(gè)動(dòng)作發(fā)生時(shí)必須執行的操作)分為不同的 portlet 方法。portlet 容器負責調用 doView() 呈現方法來(lái)顯示 portlet,并在 portlet 收到事件(如按鈕單擊或表單提交)時(shí),負責調用 actionPerformed() 方法。Portlet 可以向用戶(hù)提供幾種模式,包括 Edit、Configure 或 Help,從而向用戶(hù)提供特定模式的接口。portlet 必須提供適當的呈現方法,如 doEdit 用于支持編輯模式。對于熟悉 servlet 的人員而言,portlet 開(kāi)發(fā)非常相似,只是 servlet doGetdoPost() 方法由 actionPerformed() doXXX() portlet 方法取代。portlet 編程和 servlet 編程的另一個(gè)顯著(zhù)差別在于 PortletResponse、PortletConfig 和 PortletContext 類(lèi)的使用,這些類(lèi)在現有的由 Java Servlet API 提供的 HttpServletRequest、HttpServletResponse、ServletConfigServletContext 類(lèi)的基礎上裝飾(也就是提供)了附加的功能。

最終的 portlet 如下所示:

清單 1. 計數器服務(wù) portlet
                        public class GridCounterPortlet extends AbstractPortlet {                        public static final String VIEW_JSP = "/jsp/ogsa/counter/view_counter.jsp";                        // Create a URL for the counter service                        private static final String counterUrl =                        "http://127.0.0.1:8080/ogsa/services/samples/counter/basic/CounterFactoryService";                        private LocatorType locator = null;                        private CounterPortType counter = null;                        public void init(PortletConfig config) throws UnavailableException {                        super.init(config);                        try {                        // Create a grid service handle from the service URL                        URL GSH = new URL(counterUrl);                        // Get a reference to the CounterService Factory                        OGSIServiceGridLocator gridLocator = new OGSIServiceGridLocator();                        Factory factory = gridLocator.getFactoryPort(GSH);                        GridServiceFactory counterFactory = new GridServiceFactory(factory);                        // Create a new CounterService instance and get a reference to its Counter PortType.                        locator = counterFactory.createService();                        CounterServiceGridLocator counterLocator = new CounterServiceGridLocator();                        counter = counterLocator.getCounterPort(locator);                        } catch (Exception e) {                        getPortletLog().error("Unable to create OGSA counter service instance", e);                        }                        }                        public void actionPerformed(ActionEvent evt) throws PortletException {                        PortletRequest req = evt.getPortletRequest();                        int count = 0;                        String countStr = req.getParameter("count");                        try {                        count = Integer.parseInt(countStr);                        } catch (IllegalArgumentException e) {                        // do nothing                        }                        // get the operation to perform from the request                        String operation = req.getParameter("operation");                        if (operation != null) {                        if (operation.equals("Add")) {                        try {                        System.err.println("adding " + count + " to counter");                        counter.add(count);                        } catch (RemoteException e) {                        getPortletLog().error("Failed invoking add on counter", e);                        }                        }                        if (operation.equals("Subtract")) {                        try {                        counter.subtract(count);                        } catch (RemoteException e) {                        getPortletLog().error("Failed invoking subtract on counter", e);                        }                        }                        }                        }                        public void doView(PortletRequest req, PortletResponse res) throws IOException, PortletException {                        // a portlet uri creates a link for this form to refer back to the calling portlet                        PortletURI uri = res.createURI();                        uri.addAction("submit");                        req.setAttribute("uri", uri.toString());                        String counterVal = "0";                        try {                        // obtain the current counter value from the grid service                        counterVal = String.valueOf(counter.getValue());                        } catch (RemoteException e) {                        getPortletLog().error("Unable to get counter value", e);                        }                        // put the counter value in the request to display in the JSP                        req.setAttribute("counterVal", counterVal);                        getConfig().getContext().include(VIEW_JSP, req, res);                        }                        public void doHelp(PortletRequest req, PortletResponse res) throws IOException, PortletException {                        PrintWriter out = res.getWriter();                        out.println("This portlet demonstrates the GT3 counter service.");                        }                        }                        

如清單中所示,init() 方法負責通過(guò)代表服務(wù)端點(diǎn)的硬編碼 counterUrl 獲得計數器服務(wù)(一種 portType)的實(shí)例。在此情況下,portlet 使用同一個(gè)容器中部署的計數器服務(wù),但也可以容易地修改它,以便使用其他一些已部署的服務(wù)。portlet 容器只調用 init() 方法一次,產(chǎn)生由所有傳入客戶(hù)機共享的單個(gè)計數器服務(wù)實(shí)例。actionPerformed() 方法使用通過(guò)表單提交的請求參數,調用具有提供值的計數器服務(wù)的加減方法。doView() 方法查詢(xún)計數器服務(wù)獲得該值,并通過(guò)包含如下所示的 JSP 頁(yè)面來(lái)顯示表單:

清單 2. 計數器服務(wù) JSP 表單
                        <jsp:useBean id="counterVal" class="java.lang.String" scope="request"/>                        <jsp:useBean id="uri" class="java.lang.String" scope="request"/>                        <form action="<%= uri %>" method="POST">                        <table cellspacing="1"  cellpadding="1"  border="1">                        <tr>                        <td>Enter Number: </td>                        <td><input type="text" name="count"/></td>                        </tr>                        <tr>                        <td>Counter Value: </td>                        <td align="center"><b><%= counterVal %></b></td>                        </tr>                        <tr>                        <td align="center"><input type="submit" name="operation" value="Add"/></td>                        <td align="center"><input type="submit" name="operation" value="Subtract"/></td>                        </tr>                        </table>                        </form>                        

以下 portlet 中給出的表示 JSP 提供了一個(gè)簡(jiǎn)單的表單,該表單使用一個(gè)文本域和兩個(gè)提交按鈕來(lái)從計數器中加或減一個(gè)新值。JSP bean counterval uri 用于動(dòng)態(tài)顯示計數器值,創(chuàng )建一個(gè)表單動(dòng)作,以便向后引用正在調用的 portlet。盡管該頁(yè)面展示的是最簡(jiǎn)單的 HTML 表單,但 GridSphere 提供了非常有用的標簽庫,用于構造用戶(hù)界面并減少公共例程(如 PortletURI 的創(chuàng )建和存儲),將其放入特殊的 <ui:actionlink> <ui:form> 標簽來(lái)創(chuàng )建超鏈接和表單,以便向后引用正在調用的 portlet。JSR 168 Portlet 1.0 規范還支持額外的標簽,而且該規范將在 GridSphere 中得到支持。將來(lái)還要撰寫(xiě)文章詳細討論 GridSphere 標簽庫的用法和優(yōu)勢。

2. 創(chuàng )建門(mén)戶(hù)部署描述符
將新 portlet 部署到 GridSphere 的最后一步是創(chuàng )建 GridSphere 使用的部署描述符。portlet 部署描述符 portlet.xml 如下所示 :

清單 3. portlet 部署描述符
                        <?xml version="1.0" encoding="UTF-8"?>                        <portlet-app-collection>                        <portlet-app-def>                        <portlet-app id="org.gridlab.gridsphere.portlets.GridCounterPortlet">                        <portlet-name>Grid Counter Portlet</portlet-name>                        <servlet-name>GridCounter</servlet-name>                        <allows>                        <maximized/>                        <minimized/>                        <resizing/>                        </allows>                        <supports>                        <view/>                        <help/>                        </supports>                        </portlet-app>                        <concrete-portlet-app id="org.gridlab.gridsphere.portlets.GridCounterPortlet.1">                        <concrete-portlet>                        <portlet-name>Grid Counter Portlet</portlet-name>                        <default-locale>en</default-locale>                        <language locale="en">                        <title>Grid Counter Portlet</title>                        <title-short>Grid Counter Portlet</title-short>                        <description>Demonstration of OGSI counter service</description>                        <keywords>ogsa ogsi counter grid</keywords>                        </language>                        </concrete-portlet>                        </concrete-portlet-app>                        </portlet-app-def>                        </portlet-app-collection>                        

portlet 描述符提供 GridSphere 容器使用的 portlet 屬性的定義。portlet 必須定義一個(gè)應用程序 portlet 定義和一個(gè)或多個(gè) concrete portlet 定義,后者代表由門(mén)戶(hù)使用的實(shí)際 portlet 實(shí)例。在該定義中,我們規定 portlet 支持 VIEW 和 HELP 模式。它還支持所有的窗口狀態(tài),因此用戶(hù)可以最小化、最大化或調整 portlet 的大小,就像它是用戶(hù)桌面上的一個(gè)正常的應用程序窗口。concrete portlet 定義提供了一個(gè)由該 portlet 顯示的標題,以及可能由容器使用的描述和關(guān)鍵字。

在 GridSphere 中,portlet 與 servlet 類(lèi)似,還必須在 web.xml web 應用程序部署描述符中注冊,該部署描述符由 Servlet API 定義,通過(guò) servlet 容器進(jìn)行注冊。該 web.xml 如下所示:

清單 4. Web 應用程序部署描述符
                        <?xml version="1.0" encoding="ISO-8859-1"?>                        <!DOCTYPE web-app                        PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"                        "http://java.sun.com/j2ee/dtds/web-app_2.3.dtd">                        <web-app>                        <display-name>GridSphere Grid Portlets</display-name>                        <description>                        Provides an OGSA counter service portlet                        </description>                        <servlet>                        <servlet-name>GridCounter</servlet-name>                        <servlet-class>org.gridlab.gridsphere.portlets.GridCounterPortlet</servlet-class>                        </servlet>                        <servlet-mapping>                        <servlet-name>GridCounter</servlet-name>                        <url-pattern>/gridcounter</url-pattern>                        </servlet-mapping>                        </web-app>                        

在 web.xml 中指定的 servlet 類(lèi)必須與實(shí)際的 portlet 類(lèi)名稱(chēng)相匹配,而 servlet-name 必須與 portlet.xml 描述符文件中應用程序 portlet 定義值中指定的名稱(chēng)相匹配。這樣就允許 GridSphere 容器訪(fǎng)問(wèn) portlet 來(lái)轉發(fā)請求。

最后,門(mén)戶(hù)需要一個(gè)布局描述符,它提供默認布局,指出 portlet 在門(mén)戶(hù)中的布局。GridSphere 門(mén)戶(hù)依靠選項卡式窗格方法組織 portlet,以便顯示給用戶(hù)。portlet web 應用程序包含布局描述符 layout.xml,它根據 GridSphere 布局引擎使用的可視化組件來(lái)描述其布局。我們的 layout.xml 示例如下所示:

清單 5. 門(mén)戶(hù)布局描述符
                        <?xml version="1.0" encoding="UTF-8"?>                        <portlet-tabbed-pane>                        <portlet-tab title="Grid samples">                        <portlet-tabbed-pane style="sub-menu">                        <portlet-tab>                        <title lang="en">OGSI examples</title>                        <table-layout>                        <row-layout>                        <column-layout width="50%">                        <portlet-frame label="counter">                        <portlet-class>org.gridlab.gridsphere.portlets.GridCounterPortlet.1</portlet-class>                        </portlet-frame>                        </column-layout>                        </row-layout>                        </table-layout>                        </portlet-tab>                        </portlet-tabbed-pane>                        </portlet-tab>                        </portlet-tabbed-pane>                        

在 GridSphere 布局中,雙選項卡式窗格提供了一種嵌套的組織結構,用于顯示在布局描述符中指定的 portlet(和其他組件)。由于我們只有一個(gè) portlet,所以,我們選擇將其放置在它自己的選項卡中,默認寬度占到屏幕的一半。<portlet-frame> 表示 portlet 的可視化顯示,包括受支持的模式和窗口狀態(tài)的標題欄。必須由 <portlet-frame> 包含的 <portlet-class> 元素指定了concrete portlet 標識符,該標識符在 portlet 部署描述符中指定。

4. 試一試!
您現在準備在 GridSphere 門(mén)戶(hù)中嘗試執行計數器 portlet 示例。請在“參考資料”部分下載 counterportlet.war 文件,該文件包含了以前的文件和兩個(gè)附加庫,用于存放 JSP 中使用的標簽庫。只需將該文件放在 Tomcat 的 webapps 目錄(如 $CATALINA_HOME/webapps)中,然后編輯類(lèi)似于以下的 $CATALINA_HOME/webapps/gridsphere/WEB-INF/PortletMaster.xml 文件:

清單 6. GridSphere portlet 主配置
                        <portlet-services>                        <service>                        <name>Portlet Manager Service</name>                        <user-required>true</user-required>                        <description>Provides Administration Capabilities for Portlet Web Applications</description>                        <interface>org.gridlab.gridsphere.services.core.registry.PortletManagerService</interface>                        <implementation>org.gridlab.gridsphere.services.core.registry.impl.PortletManagerServiceImpl</implementation>                        <service-config>                        <param-name>startup-portlet-webapps</param-name>                        <param-value>gridsphere, counterportlet</param-value>                        </service-config>                        </service>                        </portlet-services>                        

需要編輯的唯一一行是 param-value 元素,它指定哪個(gè) portlet web 應用程序應被 GridSphere 容器所知曉。通過(guò)將 counterportlet 添加到逗號分隔的列表,GridSphere 將在它啟動(dòng)時(shí)加載和初始化網(wǎng)格計數器 portlet。

現在,在您重新啟動(dòng) Tomcat servlet 容器時(shí),登錄并導航到 Welcome->Settings,在此,您可以從 "Profile Manager" portlet 的編輯模式選擇要加入的新 "counterportlet" 組。

圖 3. 計數器服務(wù) portlet

結束語(yǔ)
本文簡(jiǎn)要介紹了實(shí)現網(wǎng)格 portlet 所用的技術(shù),并演示了一個(gè)網(wǎng)格計數器服務(wù) portlet 的示例,該示例使用 Globus toolkit 和 GridSphere 門(mén)戶(hù)框架一起來(lái)展示示例計數器服務(wù)。GridSphere 門(mén)戶(hù)和 GT3 OGSI 服務(wù)形成自然的共存關(guān)系,您可以容易地開(kāi)發(fā) portlet 并利用 OGSI 服務(wù)的優(yōu)點(diǎn)。該計數器服務(wù) portlet 可能是最容易的并且能夠工作的 portlet 示例,展示了使用 GT3 的網(wǎng)格服務(wù)。在將來(lái)的文章中,我們將討論:

  • 如何封裝多個(gè) portlet 使用的公共邏輯。
  • 如何創(chuàng )建包括更復雜操作和用戶(hù)界面的 portlet。
  • 如何開(kāi)發(fā)管理 portlet 來(lái)配置 OGSI 網(wǎng)格服務(wù)。
  • 如何使用網(wǎng)格安全機制支持安全網(wǎng)格服務(wù)。
  • 如何提供內容的本地化。

致謝
我要感謝所有那些使用和促進(jìn) GridSphere 的人,感謝他們的幫助和討論,這有助于使 GridSphere 框架更具可用性,包括我的同事 Michael Russell 和 Oliver Wehrens 以及 GridLab 項目中的其他人員。還要感謝 Globus 項目的 Sam Meder,他提供了集成 GT3 和 GridSphere 方面的建議和忠告。本工作得到了 European Commission 5th Framework 計劃 (grant IST-2001-32133) 的幫助和支持,該計劃是 GridLab 項目的主要資金來(lái)源。

參考資料

  • 了解有關(guān) GridSphere 門(mén)戶(hù)框架的更多信息。

  • 下載本文中使用的計數器 portlet Web 應用程序(包括源代碼)。

  • 閱讀 Globus Toolkit 3 User‘s Guide。

  • 另外,請參閱 Globus Toolkit 3 Programmer‘s Tutorial。

  • 請參閱文章 The case for portlets,本文介紹了如何決定 portlet 是您的最佳選擇(developerWorks,2003 年 2 月)。

  • 文章 Create your own portlet and Web service 介紹了 portlet 和 Web Services 編程(developerWorks,2002 年 1 月)。

  • 請參閱文章 Developing Grid Computing Applications,本文向開(kāi)發(fā)人員介紹網(wǎng)格計算的基本概念和開(kāi)放網(wǎng)格服務(wù)體系結構 (OGSA) (developerWorks,2002 年 10 月)。

  • 開(kāi)發(fā)人員對于 OGSI 和基于 OGSI 的網(wǎng)格計算的概述 介紹了開(kāi)放網(wǎng)格服務(wù)體系結構 (OGSI) 規范,包括命名和引用網(wǎng)格服務(wù),使用所有網(wǎng)格服務(wù)公共的接口和行為(developerWorks,2003 年 4 月)。

  • 請參閱文章 Globus Toolkit 3.0 和 OGSI 體系結構 — 概述 ,本文介紹了 Globus GT3 軟件體系結構、編程模型和 GT3 引入的工具、Web 服務(wù)和網(wǎng)格服務(wù)軟件模型之間的關(guān)系,以及處理引入到 Web 服務(wù)領(lǐng)域的新網(wǎng)格服務(wù)行為(developerWorks,2003 年 5 月)。

  • 請參閱文章 用 Globus Toolkit 3.0 編寫(xiě)安全的網(wǎng)格服務(wù),本文介紹 Globus Toolkit 3.0 的安全技術(shù)和機制(developerWorks,2003 年 10 月)。
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
PORTAL門(mén)戶(hù)平臺(27個(gè))
portlet規范介紹(jsp/servlet 技術(shù))
portlet部署描述符
Portal Framework介紹 - 神話(huà)大牛
Portlet概念
門(mén)戶(hù)軟件的價(jià)值不在門(mén)戶(hù)本身
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久