Showing posts with label Architecture. Show all posts
Showing posts with label Architecture. Show all posts

Thursday, 30 May 2013

HCM Domain Topology View

In order to have the idea of HCM Domain and it's different components you can log on to to HCM Domain. To do that you need to have the role Administrators assigned to your user id. I have explained it @Fusion Apps Role to access Weblogic Admin Console

After getting the role assigned you access the HCM domain. You can find the details @ How to get server and port details for OnPremise installation.

You get the server host name, admin server port number, e.g. http://yourdomain.com:9401/em. If you log in you will see the Enterprise Manager 11g Fusion Applications Control as shown below
As can be seen on the left hand side you will have Farm Components, in the middle you have Fusion Applications and Fusion Middleware component status and on the right you have Topology view.







Farm Components and Weblogic Domains. As you can see there is one Admin Server and Multiple Clusters. Each Cluster is having Managed Servers. And one or many applications are deployed on these managed servers.









Fusion Applications and Fusion Middleware Status












HCM Domain Topology View












This shows the list of ear files present under HCM Product Family. For example HcmBenifitsApp, 
HcmPayrollApp, HcmCoreExternalApp etc are nothing but .ear files. Each of these .ear files will have multiple .war files and they are listed as web modules. Now if you click on any ear file , e.g HcmPayrollApp then it will highlight the products(Web Modules) associated with it.



As I clicked on HcmPayrollApp it highlighted as shown. You can see

  • Fast Formula
  • Global Payroll
  • HCM Country and Vertical Extensions
are part of it. It also specifies which managed server this application has been deployed on.

This is the list of products under all HCM Applications (.ear file).










In the next post will show how to see the different HCM Composite services and how to test them...

Cheers.......................







Wednesday, 29 May 2013

Fusion On Premise - How to know what are the domains that have been created during installation?

According to Fusion Apps Pillar concept every product family is installed on a separate domain. This does not mean that it will not deploy other domains. As different product families use common functionality there will always be a common domain deployed with every product family. Also the products are interlinked so one product family may be using some functionality of others.

Now the question is 'How to know what are all the domains that have been created during installation?'
You can get the domain names and their admin server details from unix.
There is a file called domain-registry.xml under $APPL_TOP. Here is the link how to set all tops Fusion Apps Environment File Location

For example you have provisioned only Fusion HCM then your domain-registry.xml file will have the following entries
<?xml version="1.0" encoding="UTF-8"?>
<domain-registry xmlns="http://xmlns.oracle.com/weblogic/domain-registry">
  <domain location="/u01/app/oracle/fusion/instance/domains/<your domain>/FinancialDomain"/>
  <domain location="/u01/app/oracle/fusion/instance/domains/<your domain>/BIDomain"/>
  <domain location="/u01/app/oracle/fusion/instance/domains/<your domain>/CommonDomain"/>
  <domain location="/u01/app/oracle/fusion/instance/domains/<your domain>/HCMDomain"/>
  <domain location="/u01/app/oracle/fusion/instance/domains/<your domain>/CRMDomain"/>
</domain-registry>

Where <your domain> is actual domain which you created.
As you can see that apart from HCMDomain you have 

  • FinancialDomain
  • BIDomain
  • CommonDomain
  • CRMDomain
Now the next question will be how to know on which server and port these domains have been registered. 
You get that also from the unix
in Unix you do 
cd $APPL_TOP
cd ..
and then do ls -ltr. You will see a file called deployment_info.xml. It will have all the domains and their admin server and server port details. You can use them and directly log on to those to see what are all the applications that have been deployed.

Here is the sample content of that file


<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<deployed-environment contact="" created="4/6/12" id="oracle" mod-id="" modified="4/6/12" name="oracle" type="Production">
<offering description="Financials" group="" id="XLE_FINANCIALS_JUR" mastered="FSCM" name="Financials" provisioned="false"/>
<offering description="Financial Control and Reporting" group="" id="XLE_FIN_CONTROL_JUR" mastered="FSCM" name="Financial Control and Reporting" provisioned="false"/>
<offering description="Enterprise Contracts" group="" id="OKC_CONTRACTS" mastered="CRM" name="Enterprise Contracts" provisioned="false"/>
<offering description="Customer Data Management" group="" id="ZCH_CDM" mastered="CRM" name="Customer Data Management" provisioned="false"/>
<offering description="Marketing" group="" id="MKT_MARKETING" mastered="CRM" name="Marketing" provisioned="false"/>
<offering description="Sales" group="" id="ZBS_SALES" mastered="CRM" name="Sales" provisioned="false"/>
<offering description="Procurement" group="" id="PO_PROCUREMENT" mastered="FSCM" name="Procurement" provisioned="false"/>
<offering description="Projects" group="" id="PJF_PROJ_MNG" mastered="FSCM" name="Projects" provisioned="false"/>
<offering description="Workforce Development" group="" id="PER_WKF_DEV" mastered="HCM" name="Workforce Development" provisioned="true"/>
<offering description="WorkForce Deployment" group="" id="PER_WKF_DEPL" mastered="HCM" name="WorkForce Deployment" provisioned="true"/>
<offering description="Compensation Management" group="" id="PER_CORE" mastered="HCM" name="Compensation Management" provisioned="true"/>
<offering description="Materials Management and Logistics" group="" id="INV_LOGISTICS" mastered="FSCM" name="Materials Management and Logistics" provisioned="false"/>
<offering description="Order Orchestration" group="" id="DOO_ORCHESTRATION" mastered="FSCM" name="Order Orchestration" provisioned="false"/>
<offering description="Product Management" group="" id="PIM_PROD_MNG" mastered="FSCM" name="Product Management" provisioned="false"/>
<offering description="Incentive Compensation" group="" id="CMP_OIC_BU" mastered="FSCM" name="Incentive Compensation" provisioned="false"/>
<deployed-database connection="" defaultPassword="" defaultUser="fusion_runtime" driver="oracle.jdbc.OracleDriver" host="yourdomain.com" id="fusion" multiDataSource="false" name="fusion" port="1521" rac="false" sid="FUSION" timeout=""/>
<deployed-domain admin-host="yourdomain.com" admin-port="10201" admin-server-name="" admin-server-protocol="t3" emHomeURL="" external-endpoint-host="yourdomain.com" external-endpoint-port="10622" external-server-protocol="https" id="BIDomain" installed="4/6/12" internal-endpoint-host="yourdomain.com" internal-endpoint-port="10621" internal-server-protocol="http" jmx-port="10201" name="BIDomain" node-manager-port="" node-manager-protocol="plain">
<deployed-application deployed="false" id="BiAcmApp" name="BiAcmApp" status="STOP"/>
<deployed-application deployed="true" id="bipApp" name="bipApp" status="START"/>
<deployed-application deployed="false" id="calc-managerApp" name="calc-managerApp" status="STOP"/>
<deployed-application deployed="false" id="essbaseApp" name="essbaseApp" status="STOP"/>
<deployed-application deployed="false" id="frApp" name="frApp" status="STOP"/>
<deployed-application deployed="true" id="obieeApp" name="obieeApp" status="START"/>
<deployed-application deployed="false" id="rtdApp" name="rtdApp" status="STOP"/>
</deployed-domain>
<deployed-domain admin-host="yourdomain.com" admin-port="7001" admin-server-name="" admin-server-protocol="t3" emHomeURL="" external-endpoint-host="yourdomain.com" external-endpoint-port="14000" external-server-protocol="http" id="IDMDomain" installed="4/6/12" internal-endpoint-host="yourdomain.com" internal-endpoint-port="14000" internal-server-protocol="http" jmx-port="7001" name="IDMDomain" node-manager-port="" node-manager-protocol="plain">
<deployed-application deployed="true" id="OracleIdentityManagementApp" name="OracleIdentityManagementApp" status="START"/>
</deployed-domain>
<deployed-domain admin-host="yourdomain.com" admin-port="9001" admin-server-name="AdminServer" admin-server-protocol="t3" emHomeURL="" external-endpoint-host="yourdomain.com" external-endpoint-port="10616" external-server-protocol="https" id="CRMDomain" installed="4/6/12" internal-endpoint-host="yourdomain.com" internal-endpoint-port="10615" internal-server-protocol="http" jmx-port="9001" name="CRMDomain" node-manager-port="5556" node-manager-protocol="ssl">
<deployed-application deployed="false" id="CRMEssDiagnosticDashboard" name="CRMEssDiagnosticDashboard" status="STOP"/>
<deployed-application deployed="false" id="ContractManagementApp" name="ContractManagementApp" status="STOP"/>
<deployed-application deployed="false" id="ContractManagementEssApp" name="ContractManagementEssApp" status="STOP"/>
<deployed-application deployed="true" id="CrmAnalyticsApp" name="CrmAnalyticsApp" status="START"/>
<deployed-application deployed="true" id="CrmCommonApp" name="CrmCommonApp" status="START"/>
<deployed-application deployed="false" id="CrmDataQualityApp" name="CrmDataQualityApp" status="STOP"/>
<deployed-application deployed="true" id="CrmDiagnosticDashboardApp" name="DiagnosticsUI-Assembly" status="START"/>
<deployed-application deployed="false" id="CrmEssApp" name="CrmEssApp" status="STOP"/>
<deployed-application deployed="false" id="CrmPerformanceApp" name="CrmPerformanceApp" status="STOP"/>
<deployed-application deployed="false" id="CrmSearchApp" name="CrmSearchApp" status="STOP"/>
<deployed-application deployed="false" id="CrmSetTransformServiceApp" name="CrmSetTransformServiceApp" status="STOP"/>
<deployed-application deployed="true" id="CrmSoaApp" name="soa-infra" status="START"/>
<deployed-application deployed="true" id="CrmWsmpmApp" name="CrmWsmpmApp" status="START"/>
<deployed-application deployed="false" id="CustomerApp" name="CustomerApp" status="STOP"/>
<deployed-application deployed="false" id="FusionBhdApp" name="FusionBhdApp" status="STOP"/>
<deployed-application deployed="false" id="FusionCtdApp" name="FusionCtdApp" status="STOP"/>
<deployed-application deployed="false" id="FusionEsdApp" name="FusionEsdApp" status="STOP"/>
<deployed-application deployed="false" id="MarketingApp" name="MarketingApp" status="STOP"/>
<deployed-application deployed="false" id="OrderCaptureApp" name="OrderCaptureApp" status="STOP"/>
<deployed-application deployed="false" id="OutlookEditionApp" name="OutlookEditionApp" status="STOP"/>
<deployed-application deployed="false" id="SalesApp" name="SalesApp" status="STOP"/>
<deployed-application deployed="false" id="odi-crm" name="odi-crm" status="STOP"/>
</deployed-domain>
<deployed-domain admin-host="yourdomain.com" admin-port="7401" admin-server-name="AdminServer" admin-server-protocol="t3" emHomeURL="" external-endpoint-host="yourdomain.com" external-endpoint-port="10604" external-server-protocol="https" id="FinancialDomain" installed="4/6/12" internal-endpoint-host="yourdomain.com" internal-endpoint-port="10603" internal-server-protocol="http" jmx-port="7401" name="FinancialDomain" node-manager-port="5556" node-manager-protocol="ssl">
<deployed-application deployed="true" id="FinancialCommonApp" name="FinancialCommonApp" status="START"/>
<deployed-application deployed="true" id="FinancialsDiagnosticDashboardApp" name="DiagnosticsUI-Assembly" status="START"/>
<deployed-application deployed="true" id="FinancialsEssApp" name="FinancialsEssApp" status="START"/>
<deployed-application deployed="true" id="FinancialsEssDiagnosticDashboard" name="DiagnosticsUI-Ess" status="START"/>
<deployed-application deployed="true" id="FinancialsSoaApp" name="soa-infra" status="START"/>
<deployed-application deployed="true" id="FinancialsWsmpmApp" name="FinancialsWsmpmApp" status="START"/>
<deployed-application deployed="true" id="FscmAnalyticsApp" name="FscmAnalyticsApp" status="START"/>
<deployed-application deployed="false" id="FscmSearchApp" name="FscmSearchApp" status="STOP"/>
<deployed-application deployed="true" id="LedgerApp" name="LedgerApp" status="START"/>
<deployed-application deployed="true" id="PayablesApp" name="PayablesApp" status="START"/>
<deployed-application deployed="false" id="ReceivablesApp" name="ReceivablesApp" status="STOP"/>
</deployed-domain>
<deployed-domain admin-host="yourdomain.com" admin-port="7001" admin-server-name="AdminServer" admin-server-protocol="t3" emHomeURL="" external-endpoint-host="yourdomain.com" external-endpoint-port="10614" external-server-protocol="https" id="CommonDomain" installed="4/6/12" internal-endpoint-host="yourdomain.com" internal-endpoint-port="10613" internal-server-protocol="http" jmx-port="7001" name="CommonDomain" node-manager-port="5556" node-manager-protocol="ssl">
<deployed-application deployed="true" id="ApplicationsCoreSetupApp" name="ApplicationsCoreSetupApp" status="START"/>
<deployed-application deployed="true" id="AuthorizationPolicyManagerApp" name="AuthorizationPolicyManager" status="START"/>
<deployed-application deployed="false" id="B2BApp" name="B2BApp" status="STOP"/>
<deployed-application deployed="true" id="CommonEssDiagnosticDashboard" name="DiagnosticsUI-Ess" status="START"/>
<deployed-application deployed="true" id="EssUiApp" name="EssUiApp" status="START"/>
<deployed-application deployed="true" id="GrcSetupApp" name="GrcSetupApp" status="START"/>
<deployed-application deployed="true" id="HelpPortalApp" name="HelpPortalApp" status="STOP"/>
<deployed-application deployed="true" id="HomePageApp" name="HomePageApp" status="START"/>
<deployed-application deployed="true" id="SearchEssApp" name="SearchEssApp" status="START"/>
<deployed-application deployed="true" id="SetupApp" name="SetupApp" status="START"/>
<deployed-application deployed="true" id="SetupDiagnosticDashboardApp" name="DiagnosticsUI-Assembly" status="START"/>
<deployed-application deployed="true" id="SetupEssApp" name="SetupEssApp" status="START"/>
<deployed-application deployed="true" id="SetupSoaApp" name="soa-infra" status="START"/>
<deployed-application deployed="true" id="SetupWsmpmApp" name="SetupWsmpmApp" status="START"/>
<deployed-application deployed="true" id="TopologyManagerServiceApp" name="TopologyManagerServices" status="START"/>
<deployed-application deployed="false" id="ibrApp" name="ibrApp" status="STOP"/>
<deployed-application deployed="false" id="imaging" name="imaging" status="STOP"/>
<deployed-application deployed="true" id="owlcs-dbApp" name="owlcs-dbApp" status="START"/>
<deployed-application deployed="true" id="owlcsApp" name="owlcsApp" status="START"/>
<deployed-application deployed="true" id="roleTemplateApp" name="roleTemplateApp" status="START"/>
<deployed-application deployed="true" id="sesApp" name="sesApp" status="START"/>
<deployed-application deployed="true" id="ucmApp" name="ucmApp" status="START"/>
<deployed-application deployed="true" id="wc-servicesApp" name="wc-services" status="STOP"/>
<deployed-application deployed="true" id="wc-spacesApp" name="webcenter" status="START"/>
</deployed-domain>
<deployed-domain admin-host="yourdomain.com" admin-port="9401" admin-server-name="AdminServer" admin-server-protocol="t3" emHomeURL="" external-endpoint-host="yourdomain.com" external-endpoint-port="10620" external-server-protocol="https" id="HCMDomain" installed="4/6/12" internal-endpoint-host="yourdomain.com" internal-endpoint-port="10619" internal-server-protocol="http" jmx-port="9401" name="HCMDomain" node-manager-port="5556" node-manager-protocol="ssl">
<deployed-application deployed="true" id="HCMEssDiagnosticDashboard" name="DiagnosticsUI-Ess" status="START"/>
<deployed-application deployed="true" id="HcmAnalyticsApp" name="HcmAnalyticsApp" status="START"/>
<deployed-application deployed="true" id="HcmBenefitsApp" name="HcmBenefitsApp" status="START"/>
<deployed-application deployed="true" id="HcmCompensationApp" name="HcmCompensationApp" status="START"/>
<deployed-application deployed="true" id="HcmCoreApp" name="HcmCoreApp" status="START"/>
<deployed-application deployed="true" id="HcmCoreExternalApp" name="HcmCoreExternalApp" status="START"/>
<deployed-application deployed="true" id="HcmCoreSetupApp" name="HcmCoreSetupApp" status="START"/>
<deployed-application deployed="true" id="HcmDiagnosticDashboardApp" name="DiagnosticsUI-Assembly" status="START"/>
<deployed-application deployed="true" id="HcmEssApp" name="HcmEssApp" status="START"/>
<deployed-application deployed="true" id="HcmPayrollApp" name="HcmPayrollApp" status="START"/>
<deployed-application deployed="true" id="HcmSearchApp" name="HcmSearchApp" status="START"/>
<deployed-application deployed="true" id="HcmSoaApp" name="soa-infra" status="START"/>
<deployed-application deployed="true" id="HcmTalentApp" name="HcmTalentApp" status="START"/>
<deployed-application deployed="true" id="HcmWsmpmApp" name="HcmWsmpmApp" status="START"/>
<deployed-application deployed="true" id="odi-hcm" name="odi-hcm" status="START"/>
</deployed-domain>
</deployed-environment>

You can also see that apart from the listed domains you also an IDM domain for Identity Management.

Whatever you see with deployed applications the same can be seen from Fusion Middleware Control of the respective domains under Topology Manager.

Too much technical???? This what Fusion is....

Cheers

Monday, 27 May 2013

Fusion Apps Environment File Location

People who are from EBS background will have tendency to know the location of environment file so that they can browse the file and find the product top of different applications.

The file could be found at APPLICATIONS_BASE/admin/FUSION_env.properties. e.g. /u01/app/oracle/fusion/fusionapps/applications/admin/FUSION_env.properties where/u01/app/oracle/fusion/fusionapps/applications the application base.

Here is the sample output of that file











Was again doing some search how to set the environment from unix box. I cam to know that system creates APPSORA.env file during installation. So if you source that $APPL_TOP/lcm/ad/bin/APPSORA.env file all top will be set.

You can export this path in your .bash_profile so that whenever you login the path are automatically set.

Cheers.........

Sunday, 26 May 2013

Fusion Apps - Architecture for Beginners

I was trying to build resource base with Fusion Apps knowledge. It's a huge subject. So I was wondering how to jump start with some basic ideas. Thought of putting things together from different places. Hope this will help some of you who are still struggling to find out where to start from. Here we go with the building blocks


An installation of Oracle Fusion Applications is logically broken up into groups of features. Each set of features is known as product offerings, which represent the highest-level collection of functionality that you can license and implement. A provisioning configuration is a collection of one or more product offerings. During installation, you select a product offering or a combination of offerings as a way to install the product families. Product families are comprised of one or more Java EE applications specific to Oracle Fusion Applications. An application can contain multiple products, and a product can also span multiple applications. A product typically has a one-to-one correspondence with an EAR file. Figure 1–2 shows two applications, PayablesApp and ReceivablesApp, each of which is mapped to the same product, Payments.


 Oracle Enterprise Manager Fusion Applications Control
Oracle Enterprise Manager Fusion Applications Control (Fusion Applications Control) enables you to manage a single product family in an Oracle WebLogic Server domain for the Oracle Fusion Applications environment, including the products, applications, and Oracle Fusion Middleware components. As a part of management, you can monitor the runtime performance metrics for the various Oracle Fusion Applications
and Oracle Fusion Middleware components.
Oracle Enterprise Manager Cloud Control
Oracle Enterprise Manager Cloud Control (Cloud Control) enables you to monitor and manage the complete IT infrastructure for Oracle Fusion Applications from a single console. You can monitor all the product families, Oracle Fusion Middleware components, and the Oracle Database. For example, you can monitor all the Oracle WebLogic Server domains for all the product families from one console.
Oracle Enterprise Manager Database Control
Oracle Enterprise Manager Database Control (Database Control) enables you to manage the Oracle Database.

Weblogic Server Domains


 See "What Is an Oracle WebLogic Server Domain?" in the Oracle Fusion Middleware Administrator's Guide to understand the following concepts for Oracle WebLogicServer:
  • Oracle WebLogic Server domains
  • Managed Servers and the Administration Server
During installation, the applications for a single product family are deployed to one Oracle WebLogic Server domain. Within a single domain, an Administration Server hosts the application for Fusion Applications Control, and the Java EE applications for the product family deploy to the Managed Servers. The Managed Servers are grouped together into a cluster for each application of the product family. Figure above shows a domain with an Administration Server and three Managed Servers in clusters. If you want to scale out the Java EE application, you simply add new servers to the cluster. In an Oracle Fusion Applications environment, the domains are predefined so that the product families and their dependencies are always stored in a standardized arrangement.

As an example of greater detail for a product family, Figure 1,1 shows a portion of the domain for the Oracle Fusion Financials product family with an Administration Server and eight Managed Servers in a cluster. The applications are each deployed to a Managed Server within a cluster. In addition to the applications for Oracle Fusion Financials, the domain also contains an Oracle Enterprise Scheduler cluster and a SOA cluster. The Oracle Enterprise Scheduler (ESSAPP) application manages job requests for the product family. The SOA Infrastructure (soa-infra) application hosts the SOA composites for the applications in the product family.
1.1 Oracle WebLogic Server Domain for the Oracle Fusion Financials Family













The Oracle Fusion Applications Oracle home directory (FA_ORACLE_HOME) is located under the APPLICATIONS_BASE/fusionapps directory The /fusionapps directory is an Oracle Fusion Applications Middleware home (FA_MW_HOME). Figure above shows this directory structure.

The Oracle home contains the following subdirectories:
·         /fusionapps/applications/lcm: The life cycle management directory. Contains the patching framework artifacts in the following subdirectories:
o        ../ad/bin: Patching framework software and executables, including C artifacts and configuration scripts, that set the environment and start the corresponding utility.
o        ../ad/java: Java artifacts.
o        ../ad/db/sql: Database artifacts and SQL files.
o        ../ad/lib: Application libraries.
o        ../ad/template: Configuration files or templates delivered and used by the patching framework during configuration activities.
·         /fusionapps/applications/bin: Executables called by Enterprise Scheduler Service jobs.
·         /fusionapps/applications/product_family: Container directory for artifacts specific to a product configuration, for example, /ORACLE/fusionapps/fin.
·         /fusionapps/applications/admin: Patching framework environment properties file (FUSION_env.properties), Oracle Fusion Applications AutoPatch, and the patching logs, reports, and administration files. These files are required by Oracle Fusion Applications Patch Manager.
·         /fusionapps/applications/lib: Applications-specific libraries.
·         /fusionapps/applications/OPatch: Contains the OPatch utility called by Oracle Fusion Applications Patch Manager when patching middleware artifacts.
Fusion Apps Product Family Directory Structures












/fusionapps/applications/product_family/product: Product grouping within a product family. For example, /fusionapps/applications/fin/ar represents the Account Receivables product in the Financials product family.

/db/plsql/: PL/SQL packages and bodies for a given product, for example, .../fin/ar/db/plsql/arp_process_line.pkh.

/db/sql/: SQL scripts for a given product. For example, .../fin/ar/db/sql/ar_ar_rev_rec_typ_type.sql.

/db/data/lba/US/: Product-specific seed data files, striped by Logical Business Area (LBA). Note that sub-directories could exist in the top-level seed data directory because some LBAs can have sub-LBAs. For example, .../fin/ar/db/data/FinArCustomers/US/ArlookupTypeSD.xlf.

/fusionapps/applications/product_family/deploy: Container directory for deployable artifacts, composites, Java EE applications (such as Oracle Application Development Framework and Oracle Enterprise Scheduler Service).



/fusionapps/applications/product_family/security/: Product family directory containing security-related files.

Hope this will help.
Note - I have copied contents from different docs published by oracle to make it easy for beginners.

I have included one post to HCM Topology View to map the above with actual domain

Fusion Apps Role for access to Weblogic Admin Console, Fusion Middleware Control and FA

I was trying  hard to understand the architecture of Fusion Apps Pillars. Every thing in Fusion Apps is controlled by RBAC. In Fusion Applications you have three different User Interfaces targeted for different group of people.
These are

  1. FA UI where user will login and do his/her daily duties
  2. Fusion Middleware Control for maintaining and monitoring system health
  3. Weblogic Admin Console used to deploy services, adding, removing,starting and shutting down domains
If someone wants to understand and have full idea of all these three areas then he needs to have a role assigned with his user id. Now the question is - Is there a single role that will give access to all of the above areas??
The answer is yes. There is a role named Administrators. If that role is assigned in OIM to an user then he would be able to access all of the above.