Piattaforma legacy

Estensione dei mashup utilizzando l'estendibilità differenziale

È possibile estendere un mashup utilizzando l'estensibilità differenziale.

Procedura

  1. Creare un file XML di mashup con voci per il file di mashup da sovrascrivere. Questo file può avere qualsiasi nome e non è necessario replicare la struttura di directory relativa del file XML che contiene il mashup da estendere.
  2. Copiare il file XML nella directory <INSTALL_DIR>/extensions/<app_dir>/webpages . Poiché questo percorso di directory non fa parte dell'installazione fornita dall'applicazione, crearlo nella directory <INSTALL_DIR>/extensions . Il file XML di mashup originale è presente nella directory <INSTALL_DIR>/repository/eardata/<app_dir>/war/mashupxmls/<app_dir> .

    Creare una classe servlet init per registrare il file XML mashup. Utilizzare il metodo loadIncrementalMashupXml nella classe SCUIMashupHelper . Il contenuto del file XML viene aggiunto ai rispettivi mashup nella schermata di base basata su <mashup id>.

    Considerare il seguente mashup fornito dall'applicazione.
    <mashups>
        <mashup endpoint="EP_CONFIG" id="sample_getOrganizationList"
            mashuptype="XAPI" transactional="true">
            <classInformation name="com.ibm.wsc.common.mashups.WSCBaseMashup"/>
            <API Name="getOrganizationList">
                <Input>
                    <Organization
                        DisplayLocalizedFieldInLocale="xml:CurrentUser:/User/@Localecode" MaximumRecords="">
                        <OrgRoleList>
                            <OrgRole RoleKey="ENTERPRISE"/>
                        </OrgRoleList>
                        <DataAccessFilter UserId="xml:CurrentUser:/User/@Loginid"/>
                        <OrderBy>
                            <Attribute Desc="N" Name="OrganizationName"/>
                        </OrderBy>
                    </Organization>
                </Input>
                <Template>
                    <OrganizationList>
                        <Organization CustomerMasterOrganizationCode=""
                            LocaleCode="" OrganizationCode="" OrganizationName="">
                            <BillingPersonInfo City="" Country="" ZipCode=""/>
                        </Organization>
                    </OrganizationList>
                </Template>
            </API>
            <APINamespace inputNS="getOrganizationList_input" outputNS="getOrganizationList_output"/>
            <AlternateResourceIds>
                <AlternateResourceId altResourceId="WSCSYS00001"/>
                <AlternateResourceId altResourceId="WSC000001"/>
            </AlternateResourceIds>
        </mashup>
    </mashups>
    Per utilizzare l'estendibilità differenziale per il mashup fornito dall'applicazione, creare un mashup incrementale o differenziale con lo stesso ID mashup fornito nel seguente file override_mashup.xml presente nella cartella /myapps/override .
    <mashups>
        <mashup endpoint="EP_CONFIG" id="sample_getOrganizationList"
            mashuptype="XAPI" transactional="true">
            <classInformation name="com.ibm.wsc.common.mashups.WSCBaseMashup"/>
            <API FlowName="MyService">
                <Input>
                    <Organization
                        DisplayLocalizedFieldInLocale="xml:CurrentUser:/User/@Localecode" MaximumRecords="">
                        <OrgRoleList>
                            <OrgRole RoleKey="ENTERPRISE"/>
                        </OrgRoleList>
                        <DataAccessFilter UserId="xml:CurrentUser:/User/@Loginid"/>
                        <OrderBy>
                            <Attribute Desc="N" Name="OrganizationName"/>
                        </OrderBy>
                    </Organization>
                </Input>
                <Template>
                    <OrganizationList>
                        <Organization CustomerMasterOrganizationCode=""
                            LocaleCode="" OrganizationCode="" OrganizationName="">
                            <BillingPersonInfo City="" Country="" ZipCode=""/>
                        </Organization>
                    </OrganizationList>
                </Template>
            </API>
            <APINamespace inputNS="getOrganizationList_input" outputNS="getOrganizationList_output"/>
            <AlternateResourceIds>
                <AlternateResourceId altResourceId="WSCSYS00001"/>
                <AlternateResourceId altResourceId="WSC000001"/>
            </AlternateResourceIds>
        </mashup>
    </mashups>
    Se si utilizza il metodo di caricamento incrementale loadIncrementalMashupXml(/myapps/override/override_mashup.xml, ...) , gli elementi interni nel file override_mashup.xml vengono uniti nel mashup originale e si comportano come se il mashup fosse codificato come segue:
    <mashups>
        <mashup id="sample_getOrganizationList">
            <API>
                <Input>
                </Input>
                <Template>
                    <OrganizationList>
                        <Organization  IsEnterprise =""  OrganizationKey =""/>
                        </Organization>
                    </OrganizationList>
                </Template>
            </API>
        </mashup>
    </mashups>