Thursday, September 15, 2016

Run Apache server

1. Download  apache bin file (apache-tomcat-8.5.5-windows-x64.zip).

2. Set the environment variables
a. CATALINA_HOME : D:\Apache\apache-tomcat-8.5.5-windows-x64\apache-tomcat-8.5.5
b. JAVA_HOME : C:\Program Files\Java\jdk1.7.0_79
c . PATH=%PATH%;D:\Apache\apache-tomcat-8.5.5-windows-x64\apache-tomcat-8.5.5\bin;


3. Open command prompt and enter "startup"
4. Open apache tomcat home page on "http://localhost:8080/"
5. Create dynamic web project in Eclipse.
6. Create index.html under webcontent.
7. Export as war file into webapps location(D:\Apache\apache-tomcat-8.5.5-windows-x64\apache-tomcat-8.5.5\webapps).
8. Apache will automatically extract the war file
9. The index.html is accible throught link localhost/<project name>/index.html
10. Create a bat file ApacheStart.bat
@echo off
SET JAVA_HOME=C:\Program Files\Java\jdk1.8.0_77
set CATALINA_HOME=D:\Softwares\apache-tomcat-8.5.5-windows-x64\apache-tomcat-8.5.5
set PATH=%PATH%;D:\Softwares\apache-tomcat-8.5.5-windows-x64\apache-tomcat-8.5.5\bin;
echo APACHE HOME :%CATALINE_HOME%
echo APACHE HOME :%JAVA_HOME%
echo APACHE HOME :%PATH%
startup

11. Create a bat file ApacheShutdown.bat
@echo off
SET JAVA_HOME=C:\Program Files\Java\jdk1.8.0_77
set CATALINA_HOME=D:\Softwares\apache-tomcat-8.5.5-windows-x64\apache-tomcat-8.5.5
set PATH=%PATH%;D:\Softwares\apache-tomcat-8.5.5-windows-x64\apache-tomcat-8.5.5\bin;
echo APACHE HOME :%CATALINE_HOME%
echo APACHE HOME :%JAVA_HOME%
echo APACHE HOME :%PATH%
D:\Softwares\apache-tomcat-8.5.5-windows-x64\apache-tomcat-8.5.5\bin\shutdown.bat


Tuesday, September 8, 2015

Oracle SOA BPM notes : This is the digital notes that I have taken from various sources.


  1. Composite :
  2. Component :
  3. Service :
  4. Reference :
  5. Adapters :
  6. Mediator :
  7. BPEL
  8. BPMN
  9. Spring
  10. Human task
  11. Business Rules
  12. Task Api's 
  13. Facade Api's
  14. BPM api's
  15. JMX api's
  16. XA and non XA datasource
  17. Purging ;
  18. EDN 
  19. OSB
  20. ADF
  21. BAM
  22. XML
  23. XSD
  24. WSDL
  25. XSLT
  26. WSDL
  27. Weblogic Server
  28. SOA security
  29. Instance patching
  30. BPA

Wednesday, August 12, 2015

OBPM INTRO

                                            OBPM

What ?

Oracle BPM is short Oracle Business Process Management, a powerful set of tools for creating, executing, and optimizing business processes that can great improve efficiency, data sharing, and customer service for your company.

Oracle BPM is part of Oracle Fusion Middleware Family built on top of very successful Oracle SOA suite 11g.

Oracle BPM is around in the market from 2009.

IBM BPM and PEGA are the main competitors.


Why?

1. The suite enables unparalleled collaboration between business and IT to automate and optimize business processes.

2. Today's businesses operate in a rapidly changing climate that demands an unprecedented level of adaptation and innovation. These conditions place equally unprecedented burdens on IT departments, which must now deliver solutions in months rather than years. And those solutions must themselves be flexible enough to support continuous adaptation to an ever-evolving, ever-expanding marketplace.

3.Today’s organizations face increasing business pressures due to globalization, changing competitors, stricter regulations, faster pace of
innovation, and demand for better customer service.

4. Trends such as mobile, social, cloud, and analytic s have a profound impact on a company’s business and its core business processes. Companies expect business driven rapid process automation, seamless collaboration among all stakeholders, deep insights for better business decisions, unprecedented agility and operational excellence.




How ?

OBPM provides standard set of tools to achieve the objectives defined earlier. 

Complete set to of tools from Modelling , Design, Development, Execution and Monitoring.

Can be used to Achieve Round trip integration of a process.

Round trip integration is used to improve process through cycles of design and development.

Agile and DEVOPS complement this naturally.

Tools  are described below 

Process composer :

  1. Primary designed for Business analyst ,Process experts and Functional experts.
  2. A Web based tool.
  3. Create , Import and Modify(limited) BPM processes.
  4. After creation of Process , publish it to the Repository, where IT developer can pick it and take over the development activity.

BPM studio :


  1. A Jdeveloper Addon. Jdeveloper is a standard tool for Application development in Oracle Fusion Middleware family.
  2. Complete development features like  Code, compile and packaging .
  3. Primarily targeted on IT developer.
  4. One stop for all  OBPM development.


Weblogic Server :


  1.  A runtime platform for the BPM process.
  2.  An excellent Enterprise application server.
  3.  Excellent load balancing and load handling capabilities.


Enterprise manager :


  1. Web application to Administrators to monitor and control all BPM processes.
  2. View each instance details and current state of all BPM process.



BPM workspace :


  1.  A web application to end users to act on task assigned via BPM process.
  2. Any task assigned to logged in user appears on his bpm workspace task list.
  3. Admin can also use to create, update and delete process roles etc.


BAM :



  1. View realtime metrics derived from the running bpm processes.
  2. Metrics has to be configured during design time.
  3. Metrics are used to modify the business process.


 BPMN : 


  1. Business Process Model and Notation (BPMN) is a graphical representation for specifying business processes in a business process model.
  2. A standard Business Process Model and Notation (BPMN) will provide businesses with the capability of understanding their internal business procedures in a graphical notation and will give organizations the ability to communicate these procedures in a standard manner.
  3. The graphical notation will facilitate the understanding of the performance collaborations and business transactions between the organizations. This will ensure that businesses will understand themselves and participants in their business and will enable organizations to adjust to new internal and B2B business circumstances quickly.
  4. OBPM suite uses BPMN 2.0




Runtime architecture







Thursday, July 16, 2015

Create and Deploy Web project using Maven

1. Download below jar/zip's
a. apache-maven-3.3.3-bin
b. apache-tomcat-8.0.23

2. Set environment variables
a. CATALINA_HOME = C:\Users\raylabs\Downloads\apache-tomcat-8.0.23\apache-tomcat-8.0.23
b.M2_HOME = C:\Users\raylabs\Downloads\apache-maven-3.3.3-bin\apache-maven-3.3.3
c : PATH =C:\Program Files\Java\jdk1.8.0_45\bin;C:\Users\raylabs\Downloads\apache-maven-3.3.3-bin\apache-maven-3.3.3\bin;%CATALINA_HOME%\bin
d. MAVEN_HOME =C:\Users\raylabs\Downloads\apache-maven-3.3.3-bin\apache-maven-3.3.3


3. Create Workspace folder :
D:\projects\jsf

4. Open command prompt and enter the command :  mvn -version

[RAYLABS.D-4654646] ➤ mvn -version
Apache Maven 3.3.3 (7994120775791599e205a5524ec3e0dfe41d4a06; 2015-04-22T17:27:37+05:30)
Maven home: C:\Users\raylabs\Downloads\apache-maven-3.3.3-bin\apache-maven-3.3.3
Java version: 1.8.0_45, vendor: Oracle Corporation
Java home: C:\Program Files\Java\jdk1.8.0_45\jre
Default locale: en_US, platform encoding: Cp1252
OS name: "windows 7", version: "6.1", arch: "x86", family: "dos"


5. Create a project using maven script command :

mvn archetype:generate -DgroupId=com.raylabs.maven -DartifactId=HelloMaven -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false


6. Create eclipse project with the same : 

a. Enter the project folder (HelloMaven)
b. Run the command : mvn eclipse:eclipse

Eclipse .project will be created and can be imported


7. Add user to tomcat-user file 
C:\Users\raylabs\Downloads\apache-tomcat-8.0.23\apache-tomcat-8.0.23\conf\tomcat-users.xml

<role rolename="manager"/>
<role rolename="admin"/>
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<user username="admin" password="admin" roles="admin,manager,manager-gui,manager-script"/>


8.  Add configuration to maven settings.xml 

a. open C:\Users\raylabs\Downloads\apache-maven-3.3.3-bin\apache-maven-3.3.3\conf\settings.xml
 <servers>
<server>
   <id>TomcatServer</id>
   <username>admin</username>
   <password>admin</password>
</server>
  </servers>

9. Import the project to eclipse 



10. Add configuration to pom.xml of the project

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.raylabs.maven</groupId>
  <artifactId>HelloMaven</artifactId>
  <packaging>war</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>HelloMaven Maven Webapp</name>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
  <build>
    <finalName>HelloMaven</finalName>
    <plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>

<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>tomcat-maven-plugin</artifactId>
<version>1.1</version>
<configuration>
<url>http://localhost:8080/manager/text</url>
<server>TomcatServer</server>
<path>/HelloMaven</path>
</configuration>
</plugin>
</plugins>
  </build>
</project>

11. Start the tomcat server : startup.bat in bin folder

12. Run the command to deploy the application to tomcat
mvn clean package redeploy : Every time you make changes
mvn tomcat:deploy : First time
mvn tomcat:redeploy : After changes
mvn tomcat:undeploy : Remove the project.









Friday, May 15, 2015

Oracle SOA BPM : Get jca reference properties using api

Some times we found out while using config plans to change schema for the package or procedure it was not reflecting.  In order to check in all the code, we had to manually go into EM console and check the JCA reference for schema name.

After some exploration, i found out that we can check schema names for all composites quickly  using soa facade api's ,below is the java code.












Thursday, May 7, 2015

Work around when Audit trail is not visible in EM : Unable to display Flowtrace due to exception while initializing object, please review logs for detailed information

Some times when you open an instance in EM console, you might not be able to view the audit trail.

The error might be as below

Unable to display Flowtrace due to exception while initializing object, please review logs for detailed information.

>> Exception occured while retrieving the Flowtrace XML for the Composite Instance; ECID: 41343d22bdb09a74:-2967886c:144cf30c70b:-8000-000000000296dd8a
>> java.lang.NullPointerException
  at oracle.sysman.emai.model.sca.share.composite.FlowTraceModel.setFloatraceModelInfo(FlowTraceModel.java:185)
  at oracle.sysman.emai.model.sca.share.composite.FlowTraceModel.initialize(FlowTraceModel.java:90)
  at oracle.sysman.emai.model.sca.EMEntityModel._initializeEntityData(EMEntityModel.java:28)
  at oracle.sysman.emai.model.sca.common.SCAEntityObject.initializeSCAData(SCAEntityObject.java:124)
  at oracle.sysman.emai.model.sca.SCAObject.initializeData(SCAObject.java:74)
  at oracle.sysman.core.model.util.ModelUtil$EMObjectResetter.initOrResetEMObject(ModelUtil.java:319)
  at oracle.sysman.core.model.util.ModelUtil$EMObjectResetter.access$000(ModelUtil.java:280)
  at oracle.sysman.core.model.util.ModelUtil.initializeMBEMObjects(ModelUtil.java:231)
  at oracle.sysman.core.model.util.ModelUtil.initializeAllEMObjects(ModelUtil.java:128)
  at oracle.sysman.core.model.util.ModelUtil.initializeAllEMObjects(ModelUtil.java:101)
  at oracle.sysman.emSDK.adfext.ctlr.EMPagePhaseListener.doPrePrepareModel(EMPagePhaseListener.java:867)
  at oracle.sysman.emSDK.adfext.ctlr.EMPagePhaseListener.beforePhase(EMPagePhaseListener.java:795)
  at oracle.adfinternal.controller.lifecycle.ADFLifecycleImpl$PagePhaseListenerWrapper.beforePhase(ADFLifecycleImpl.java:558)
  at oracle.adfinternal.controller.lifecycle.LifecycleImpl.internalDispatchBeforeEvent(LifecycleImpl.java:100)
  at oracle.adfinternal.controller.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:191)
  at oracle.adfinternal.controller.faces.lifecycle.ADFPhaseListener.startPageLifecycle(ADFPhaseListener.java:203)
  at oracle.adfinternal.controller.faces.lifecycle.ADFPhaseListener$1.after(ADFPhaseListener.java:377)
  at oracle.adfinternal.controller.faces.lifecycle.ADFPhaseListener.afterPhase(ADFPhaseListener.java:88)
  at oracle.adfinternal.controller.faces.lifecycle.ADFLifecyclePhaseListener.afterPhase(ADFLifecyclePhaseListener.java:53)
  at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:520)
  at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:207)
  at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
  at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
  at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
  at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:301)
  at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
  at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
  at oracle.sysman.emSDK.license.LicenseFilter.doFilter(LicenseFilter.java:164)


I had to debug the issue, so i tried a new way.

1. Get all the components with id associated with the instance.
2. Now i had list of components with component instance id and i will get list of error messages





Now i know which component has error.

Whether its BPEL, BPMN, MEDIATOR, HUMAN TASK etc I will goto the respective service engines in EM console, put the component instance id and will be able to view the faults with audit trail of that particular component.