<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    jojo's blog--快樂(lè)憂(yōu)傷都與你同在
    為夢(mèng)想而來(lái),為自由而生。 性情若水,風(fēng)起水興,風(fēng)息水止,故時(shí)而激蕩,時(shí)又清平……
    posts - 11,  comments - 30,  trackbacks - 0

    Question: Explain the communication details between Domain Admin Server, node-agents and server instances in Sun's Application Server 8.x and 9.x (GlassFish V2).

    Terminology:

    DAS: Domain Admin Server (One per domain) -- The process that controls the management of the entire domain.

    NA: Node Agent -- Generally, one per box or Solaris container -- The process that controls the life cycle of server instances.

    SI: Server Instance --  The real Java EE instances that run user applications in an enterprise.

    Answer:

    1. Background: The domain.xml controls the configuration. At every node-agent, there are also a few configuration files that are consulted by every NA. See NA section at docs.sun.com for details. Following are the points in time when the communication (for administration/management purpose) happens:

    • DAS communicates with each NA: Only when DAS needs to know NA's running status.
    • DAS communicates with each SI: When DAS needs to know SI's running status and when it needs to cascade the SI MBeans into the DAS's MBenServer.
    • NA communicates with DAS: During initial rendezvous (which may happen during creation of NA), synchronization of the NA itself and synchronization of each SI that NA is responsible for.
    • SI communicates with the DAS: Never, explicitly.

    Thus, the communication is mainly driven by DAS. When the domain is created, the administration is configured to use an authentication realm named admin-realm. This realm points to what's called a FileRealm which is nothing but the implementation of a security realm implementation that uses admin-keyfile. If you see the domain's configuration, you'll find this file in config folder of that domain.

    The communication happens over two channels. One is the HTTP channel and the other is RMI channel. For this purpose, there is a SynchronizationServlet and a System JMX Connector (standard in JDK 5) that is provided. Every DAS and SI, including the NA start a JMX RMI ConnectorServer that can be optionally configured to use transport layer security.

    Every NA communicates with DAS multiple times, but the key points are of initial hand-shake and synchronization. The initial hand-shake is when NA makes DAS aware of its own existence and DAS correspondingly responds if it has the correct credentials. When the DAS is configured to have secure access (this is the default in enterprise profile domain), both the HTTP and JMX/RMI channels use Transport Layer Security with SSL/v3.  Note that during the initial hand-shake, the DAS knows about NA's existence alone. DAS does not release the contents of the domain's repository during this phase. This happens over HTTP channel since creation of node-agent takes the DAS's admin-port (default: 4848) as an option.

    After an NA is created, the most natural step is to start that NA. This is done by executing the asadmin start-node-agent command. Since this is the first-time startup of the NA, NA syncs up with the DAS. Note that startup of NA requires the correct credentials (admin user name and admin password) to be supplied. The DAS compares them against its own admin-keyfile and the communication succeeds only when this succeeds. The NA startup also requires the master password to be provided on the command line because in order to start, the NA has to be able to unlock the security store (e.g. keystore.jks) that it synced from the DAS. Note that master password is never put on the wire! It has to be provided at the time of both DAS startup and every NA startup. For advanced use cases, there is an unattended boot scenario that is handled by using the option --savemasterpassword which should be used with care.

    The reason NA needs the master password is also to pass it on to the SI's it starts (as part of start-instance or start-cluster) so that these instances are able to unlock the security store to get the primary keys and certificates. 

    The NA always communicates with the DAS over JMX/RMI channel. Thus NA opens an RMI connection to the DAS where DAS is listening for RMI/JMX Connections. This is where the RMI Registry in DAS (default port 8686) comes into picture.

    When the domain is created, it uses the self-signed certificate aliased s1as which is used for internal communication. This certificate is created anew every time a domain is created. The master password of a domain is what locks the server's keystore. In enterprise profile domain, NSS is used to manage the secure store, whereas in cluster profile domain, JKS manages the secure store. The semantics of the master password are unchanged in both the cases.

    The Server Instances are synced with the DAS as part of either:

    1. start-instance, or
    2. start-cluster, or
    3. start-node-agent --syncinstances procedure.

    For this synchronization, they use the HTTP layer and communicate with the SynchronizationServlet that's listening for sync requests. This servlet is (of course) running in the DAS.

    The server instances get the admin credentials from the node-agent process in a secure manner (using stdin). This also evident when you try to use the startserv script that's located in instance's bin folder.

    The process of DAS communicating with the NA and SI's is identical in that it communicates with them over RMI/JMX in the other direction.

    2. Transport Layer Security:

    This is achieved when we enable the security-enabled flag on the admin-listener and jmx-connector named system on the DAS and server instances. Note that  admin-listener (HTTP/S) is started only in the DAS. There is no admin-listener in server instances.

    It's of course possible to use another CA-signed certificate for this purpose. It needs additional configuration after importing those certs in the store.

    3. Authentication and Credentials:

    Please see: http://wiki.glassfish.java.net/attach/GlassFishAdministrationPages/admincreds.html


    posted on 2009-06-10 15:12 Blog of JoJo 閱讀(388) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): Programming 相關(guān)每日一記

    <2025年7月>
    293012345
    6789101112
    13141516171819
    20212223242526
    272829303112
    3456789

    常用鏈接

    留言簿(6)

    隨筆檔案

    文章分類(lèi)

    文章檔案

    新聞分類(lèi)

    新聞檔案

    相冊(cè)

    收藏夾

    搜索

    •  

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 亚洲国产av无码精品| 久久久久亚洲AV成人无码| 成人在线免费视频| 亚洲a在线视频视频| 在线v片免费观看视频| 成在线人直播免费视频| 久久亚洲精品成人av无码网站| 手机在线免费视频| 国产黄色片免费看| 激情综合亚洲色婷婷五月APP| 国产免费观看黄AV片| 日韩午夜理论免费TV影院| 亚洲国产欧美国产综合一区 | 亚洲成AV人片天堂网无码| 野花高清在线观看免费3中文| 亚洲免费在线观看| 亚洲色偷偷综合亚洲AV伊人蜜桃| 亚洲午夜未满十八勿入网站2| 毛片a级毛片免费播放下载| 亚洲免费人成在线视频观看| 亚洲AV无码精品国产成人| 亚洲av伊人久久综合密臀性色 | a级毛片无码免费真人久久| 亚洲欧洲日韩国产一区二区三区| 久久夜色精品国产亚洲av| 我要看免费的毛片| 精品无码人妻一区二区免费蜜桃| caoporn国产精品免费| 亚洲欧美自偷自拍另类视| 亚洲第一视频网站| av在线亚洲欧洲日产一区二区| 成人免费无码视频在线网站| 国产免费一区二区视频| 香蕉国产在线观看免费| 亚洲精品无码久久久久久| 亚洲精品动漫在线| 亚洲人成网www| 国产亚洲综合一区柠檬导航| 亚洲精品无码专区2| 日本免费一本天堂在线| 国产一卡二卡3卡四卡免费|