Wednesday, April 7, 2021

SAP -1

https://en.wikipedia.org/wiki/SAP_R/3#Earlier_versions

[Please see our list of available and valid certifications.]

https://training.sap.com/certification/validity


SAP Learning Journeys

https://help.sap.com/doc/fd2b9c6949de43938078489525288f13/PRO_2.0/en-US/317030086f83418a94dfe94173b46584.html

https://learninghub.sap.com/

https://training.sap.com/certification/

150+ different certifications are available in up to 9 languages to meet the needs of learners across your entire organization. All currently available certifications can be found here. Three different certification types are offered: 

Associate certification - Covers fundamental knowledge requirements for the successful acquisition of broad SAP solution knowledge and skills

Specialist certification - Offered in addition to an Associate certification, this certification level focuses on a specific role or integration component 

Professional certification - Advanced certification, requiring proven project experience, business process knowledge, and a more detailed understanding of SAP solutions

https://training.sap.com/certification/c_tscm62_67-sap-certified-application-associate---sales-and-distribution-erp-60-ehp7-g/

SAP ECC - SAP ERP Central Component

https://searchsap.techtarget.com/feature/Understand-SAP-ECC-vs-HANA-vs-S-4HANA-vs-R-3

https://itpfed.com/what-is-sap-fiori-how-its-different-from-sapui5/

https://blogs.sap.com/2015/03/30/sap-enhancement-package-7/

https://www.sap.com/documents/2019/07/ceaddbd2-5c7d-0010-87a3-c30de2ffd8ff.html

Tuesday, April 6, 2021

Allocating an Elastic IP address

https://acloud.guru/forums/aws-certified-developer-associate/discussion/-KWNvUYgAm9vU6e-7E_4/one-subnet-one-availability-zone-but-i-can-create-two-subnet-within-one-availabi#:~:text=The%20definition%20%221%20subnet%20%3D%201,and%20can't%20span%20zones.&text=One%20Subnet%20can%20span%20only,by%20default%20inside%20one%20VPC.

https://docs.aws.amazon.com/vpc/latest/userguide/vpc-eips.html

https://www.computerhope.com/jargon/i/ip.htm

An Elastic IP address is a static, public IPv4 address designed for dynamic cloud computing. You can associate an Elastic IP address with any instance or network interface in any VPC in your account. With an Elastic IP address, you can mask the failure of an instance by rapidly remapping the address to another instance in your VPC.

Starting from the introduction of VPC (Virtual Private Cloud), we have the ability to specify whether an EC2 instance should have a public IP address or not.

In some three-tier architectures, none of EC2 instances have public IP addresses and only public ELBs (Elastic Load Balancers) have them. The ELBs are used to accept traffic from the internet.

AWS has a giant pool of public IP addresses. The IP ranges are published here : https://ip-ranges.amazonaws.com/ip-ranges.json.

When an IP address is disassociated from an EC2 instance (for example when the instance is terminated), the IP address is returned back to the pool and may not be reused. Because of the nature of cloud computing where instances come and go, the risk for AWS to run out of IP address in the pool is somewhat reduced.

You can also claim a public IP address from Amazon’s pool into your account and associate it with your EC2 instance instead of relying on AWS to randomly assign it every time. It is called Elastic IP Address. It gives you the ability to assign “static” IP address to your instance. The default limit is 5 IP addresses per region (can be increased to some extent by contacting AWS support).

Elastic IP Address in your account that is not associated to any EC2 instance will incur cost. That is to discourage people from hoarding a large number of unused IP addresses in the account.

Bastion Host - An Instance Which Allows Authenticated users to login to Private EC2 instances via Internet, AWS

https://www.youtube.com/watch?v=pNE9J81aYLc


When we configure Bastion Host, We need to allow INCOMING Acess of SSH from Bastion Host only , In That Case we will mention Security Group Associated with Bastion Host

"SG-BASTION-HOST" - Source for Private EC2 Instances

Security Group :
It is stateful 
It has Incoming and Outgoing Rules
But Incoming is related to Outgoing 
It has no DENY/ALLOW rule flag
All Rules are ALLOW by default

Rule says 
->  Allow PROTOCOL on PORT from SOURCE  - Incoming
->  Allow PROTOCOL on PORT from DESTINATION - Outgoing

SSH is TCP Protocol on 22
HTTP is TCP protocol on 80
PING in NCMP Protocol

If Incoming Rule allowed SSH on Port 80 and I did not mention Allow SSH on Port 22 for Outgoing, Even Then SSH will be allowed in Outgoing because its stateful, it remembers.

If Outgoing Rule is allowed, on PORT 80 and We did  not Configure HTTP on Incoming Side
Even then SSH will be allowed on that Machine




Subnetting, CIDR, Subnet VPC, AWS

 172.31.16.0/20
172.31.0.0/20
172.31.32.0/20


5 Hosts are reserved by AWS
1)0 : Network Name
2) 1: Router
3) 2: DNS Name Server
4) Unknown
5)Broadcasting Netcasting

172.31.0.0/20
172.31.16.0/20
172.31.32.0/20
172.31.48.0/20
172.31.64.0/20
172.31.80.0/20
   
10.0.0.0/8=10.0.0.0 – 10.255.255.255
192.168.0.0/16=192.168.0.0 – 192.168.255.255
172.16.0.0/12=172.16.0.0 – 172.31.255.255

http://help.collab.net/index.jsp?topic=/teamforge171/faq/privateIP.html
An address is Private if it starts with:
  • 10 or
  • 192.168 or
  • 172.[16-31]





Maven , mvn , Flags, Multi-Module, repositories, distributionManagement, dependencyManagement, dependencies

https://stackoverflow.com/questions/11778276/what-is-the-difference-between-pom-type-dependency-with-scope-import-and-wit/38470559#38470559

https://stackoverflow.com/questions/25277866/maven-command-line-how-to-point-to-a-specific-settings-xml-for-a-single-command/25279325#25279325

https://blog.sonatype.com/2009/10/maven-tips-and-tricks-advanced-reactor-options/

https://stackoverflow.com/questions/4023597/specify-pom-xml-in-mvn-command-and-mix-goals-of-other-project/4023629#4023629

https://maven.apache.org/pom.html#repositories

https://maven.apache.org/pom.html#distribution-management

https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/build/maven?view=azure-devops

https://www.baeldung.com/spring-maven-bom

https://www.baeldung.com/maven-multi-module

  • The dependencyManagement section only declares the dependencies and their details in the current project - the purpose is management of the details and re-use in other projects, either via inheritance (parent) or import (scope). This is like declaring a data type in program and make it available for use.
  • The dependency section defines the actual use of the dependencies in the project, optionally inherit the details (i.e., version, etc.) of the dependencies declared under the dependencyManagment. That's why you will have missing dependencies if you only put them in dependencyManagment. This is analogous to instantiating an variable instance of a data type in a program where it is needed.

  • mvn --settings YourOwnSettings.xml clean installStarting with the Maven 2.1 release, there are new Maven command line options which allow you to manipulate the way that Maven will build multi-module projects. These new options are:-rf, --resume-from Resume reactor from specified project-pl, --projects Build specified reactor projects instead of all projects-am, --also-make If project list is specified, also build projects required by the list-amd, --also-make-dependents If project list is specified, also build projects that depend on projects on the list
  • mvn -f otherPomFile.xml
  •  Whenever a project has a dependency upon an artifact, Maven will first attempt to use a local copy of the specified artifact. If that artifact does not exist in the local repository, it will then attempt to download from a remote repository. The repository/repositories elements within a POM specify those alternate repositories to search. - Basically Download of Binaries from URL.
  • distributionManagement specifies where (and how) this project will get to a remote repository when it is deployed. The repository elements will be used for snapshot distribution if the snapshotRepository is not defined.Basically Upload of Binary to URL.
  • Bill of Materials -Maven - BOM
  •         BOM stands for Bill Of Materials. A BOM is a special kind of POM that is used to control the versions of a project’s dependencies and provide a central place to define and update those versions.
            BOM provides the flexibility to add a dependency to our module without worrying about the version that we should depend on.
# Maven
# Build, test, and deploy with Apache Maven
- task: Maven@3
  inputs:
    #mavenPomFile: 'pom.xml' 
    #goals: 'package' # Optional
    #options: # Optional
    #publishJUnitResults: true 
    #testResultsFiles: '**/surefire-reports/TEST-*.xml' # Required when publishJUnitResults == True
    #testRunTitle: # Optional
    #codeCoverageToolOption: 'None' # Optional. Options: none, cobertura, jaCoCo. Enabling code coverage inserts the `clean` goal into the Maven goals list when Maven runs.
    #codeCoverageClassFilter: # Optional. Comma-separated list of filters to include or exclude classes from collecting code coverage. For example: +:com.*,+:org.*,-:my.app*.*
    #codeCoverageClassFilesDirectories: # Optional
    #codeCoverageSourceDirectories: # Optional
    #codeCoverageFailIfEmpty: false # Optional
    #javaHomeOption: 'JDKVersion' # Options: jDKVersion, path
    #jdkVersionOption: 'default' # Optional. Options: default, 1.11, 1.10, 1.9, 1.8, 1.7, 1.6
    #jdkDirectory: # Required when javaHomeOption == Path
    #jdkArchitectureOption: 'x64' # Optional. Options: x86, x64
    #mavenVersionOption: 'Default' # Options: default, path
    #mavenDirectory: # Required when mavenVersionOption == Path
    #mavenSetM2Home: false # Required when mavenVersionOption == Path
    #mavenOptions: '-Xmx1024m' # Optional
    #mavenAuthenticateFeed: false 
    #effectivePomSkip: false 
    #sonarQubeRunAnalysis: false 
    #sqMavenPluginVersionChoice: 'latest' # Required when sonarQubeRunAnalysis == True# Options: latest, pom
    #checkStyleRunAnalysis: false # Optional
    #pmdRunAnalysis: false # Optional
    #findBugsRunAnalysis: false # Optional



Monday, April 5, 2021

Dependency Management vs Dependencies POM Maven Difference

What is the difference between dependencyManagement and dependencies?

https://stackoverflow.com/questions/11778276/what-is-the-difference-between-pom-type-dependency-with-scope-import-and-wit/11782691#11782691

Its need to declare dependencies in child project pom's anyway even if they declared in parent project's pom at <dependencyManagement> section

You cannot have a pom type project as a simple dependency in another project. (Well, you can - but it will not do anything useful). There can only be a parent-child relationship. This is essentially managing dependency through inheritance.

import scope for pom type dependency in <dependencyManagement> section allows you to achieve the equivalent of multiple inheritance.


You can only import managed dependencies. This means you can only import other POMs into the dependencyManagement section of your project's POM. i.e.


<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>other.pom.group.id</groupId>
            <artifactId>other-pom-artifact-id</artifactId>
            <version>SNAPSHOT</version>
            <scope>import</scope>
            <type>pom</type>
        </dependency>   
    </dependencies>
</dependencyManagement>

What then happens is that all the dependencies defined in the dependencyManagement section of the other-pom-artifact-id are included in your POM's dependencyManagement section. You can then reference these dependencies in the dependency section of your POM (and all of its child POMs) without having to include a version etc.

maven command line how to point to a specific settings.xml for a single command?

https://stackoverflow.com/questions/25277866/maven-command-line-how-to-point-to-a-specific-settings-xml-for-a-single-command/25279325#25279325

We usually keep settings.xml in ~/.m2/settings.xml

But its kind of makes it global

What if we want to have our own local settings.xml instead of default and global one,

You can simply use:

mvn --settings YourOwnSettings.xml clean install

or

mvn -s YourOwnSettings.xml clean install


Azure - Pipeline - Add Approver for Stage

https://learn.microsoft.com/en-us/azure/devops/pipelines/process/approvals?view=azure-devops&tabs=check-pass