We can find a gap or an improper alignment between IT and business processes in traditional software development an approach which leads to huge gap. Analysis says due to this gap business-critical software services are not able to react quickly and efficiently to the business changes.
Service oriented architecture reduces this semantic gap through a new development model which align the business process services with software development. Let’s look into SOA Lifecyle and the relevant technology we use. Basically SOA Lifecycle divided into four phases:
Process Modeling -
Process Modeling is a critical phase where process analysts work with respective process managers to analyze and get the requirements. In this phase process analysts spent most of their time to define the Key Performance Indicators (KPI), Business Policies and Business rules.
We use Business Process Modeling notation (BPMN) to design business process models.
Process Implementation -
In this phase programmers implement basic services for the business processes and integrate them with the help of analysts. We use Business Process Execution Language(BPEL) to develop the business process. It is very important to preserve the SOA essence factors like 'Reusable Services', 'Loose Coupling','Integration of Services' etc.
Process Execution & Control-
In Process Execution and Control phase, we will execute the developed processes. When execution of process happens they will interact with various external services.
Process Control also important part in this phase where process managers involve in checking whether processes are executing properly and efficiently.
Process Monitoring and Optimization -
Monitoring and Optimization phase is also an important phase where process owners monitor the key performance indicators. Generally we go for Business Activity Monitor (BAM) in this phase to monitor the important parameters and KPI's.
If any service need to raise its optimization level, again the process or that particular service send back to the starting phase i.e. modeling to identify and improve its efficiency levels. All the processes follow similar phases which we discussed above and this happens iteratively without impacting the business.
Wednesday, October 21, 2009
Friday, October 16, 2009
Creating Simple Oracle BPEL Process
This article shows how to create, deploy and test a simple BPEL process on Oracle SOA suite 10g using JDeveloper.
1. Right click on the Applications on Application Navigation and enter the Application name in this case 'MyFirstBPELApplication'.
2. In Step 2 right click on the MyFirstBPELApplication and create a new Project. Enter the project name using proper naming conventions.
3. Once your project is ready, now create a BPEL project through BPEL Project Creation Wizard and name it as 'AddBPELProcess'.
Select the Asynchronous BPEL Process in the template select box.
4. Now our BPEL Service is ready, in our business logic we will add a variable with a constant value. Drag and drop the Assign activity onto the design area.
5. Double click on the Assign activity to configure our add operation. Select the Copy Operation option in Create select box to incorporate our business logic.
6. Now in operation wizard choose Expression as a Type at input variable side.
7. For our simplicity JDeveloper provided wide range of functions, now select Mathematical Functions option so that we can use the add operation in our process. In our bpel process we add a constant value (120) with the input value, so pass the constant value and input variable to the add function.
8. Once you done with the business logic now assign the output to the output variable and click on OK.
9. Your BPEL process is ready to deploy on the Oracle SOA Suite 10g. Make sure that your server is running and you are able to see the server instance under the ServerConnection.
10. If every thing is OK then you are able to see successful Build on the Ant console.
11. Now lets test our BPEL process in the Oracle BPEL Process Manager. Open the BPM and login using default login authentication. Find our BPEL instance under BPEL Process tab here it is AddBPELProcess.
12. Click on the AddBPELProcess instance to initiate the testing process. Pass the input value in the text box here it is 120 and click on the Post XML Message button.
13. Finally, lets check for the result under flow tab which shows the visual representation of the bpel process. Double click on the assign activity to check the output variable value.
See, it is 240 (120 (Constant) + 120 (input value))that means our first bpel process worked well!!!.
Hope, this article useful for the developers who just started learning Oracle SOA Suite. Do not hesitate to reach me for any queries on this workout.
1. Right click on the Applications on Application Navigation and enter the Application name in this case 'MyFirstBPELApplication'.
2. In Step 2 right click on the MyFirstBPELApplication and create a new Project. Enter the project name using proper naming conventions.
3. Once your project is ready, now create a BPEL project through BPEL Project Creation Wizard and name it as 'AddBPELProcess'.
Select the Asynchronous BPEL Process in the template select box.
4. Now our BPEL Service is ready, in our business logic we will add a variable with a constant value. Drag and drop the Assign activity onto the design area.
5. Double click on the Assign activity to configure our add operation. Select the Copy Operation option in Create select box to incorporate our business logic.
6. Now in operation wizard choose Expression as a Type at input variable side.
7. For our simplicity JDeveloper provided wide range of functions, now select Mathematical Functions option so that we can use the add operation in our process. In our bpel process we add a constant value (120) with the input value, so pass the constant value and input variable to the add function.
8. Once you done with the business logic now assign the output to the output variable and click on OK.
9. Your BPEL process is ready to deploy on the Oracle SOA Suite 10g. Make sure that your server is running and you are able to see the server instance under the ServerConnection.
10. If every thing is OK then you are able to see successful Build on the Ant console.
11. Now lets test our BPEL process in the Oracle BPEL Process Manager. Open the BPM and login using default login authentication. Find our BPEL instance under BPEL Process tab here it is AddBPELProcess.
12. Click on the AddBPELProcess instance to initiate the testing process. Pass the input value in the text box here it is 120 and click on the Post XML Message button.
13. Finally, lets check for the result under flow tab which shows the visual representation of the bpel process. Double click on the assign activity to check the output variable value.
See, it is 240 (120 (Constant) + 120 (input value))that means our first bpel process worked well!!!.
Hope, this article useful for the developers who just started learning Oracle SOA Suite. Do not hesitate to reach me for any queries on this workout.
Wednesday, October 14, 2009
What, Where and Why
What -
Lets start with 'What is SOA?' - Service Oriented Architecture is an architectural approach to develop ad-hoc services and connect them to form an information management system. SOA allows us to create distributed services and exposes themselves to other services with an predefined service contract.
So what is a Service here - Yes, A service is an independent software component having business logic and expose itself through self-describing interface.
Where -
Why we bother about SOA, because of its decoupling nature. As we know if any system coupled tightly with the services it is very difficult to modify without disturbing the other services.
The cost of maintenance raises as the count of services increasing in tightly coupled distributed system. In the maintenance cost perspective SOA gives you the feasibility to minimize the cost factor.
Why -
So where we can use this SOA? basically most of the SOA projects are integration based projects where we can use the loose coupling concept to integrate the services.
SOA perfectly fits in the area where we reuse and composite the services to create new business processes. When a business extending, modifying its services or switching to other service providers or consumers SOA is the best option.
Lets start with 'What is SOA?' - Service Oriented Architecture is an architectural approach to develop ad-hoc services and connect them to form an information management system. SOA allows us to create distributed services and exposes themselves to other services with an predefined service contract.
So what is a Service here - Yes, A service is an independent software component having business logic and expose itself through self-describing interface.
Where -
Why we bother about SOA, because of its decoupling nature. As we know if any system coupled tightly with the services it is very difficult to modify without disturbing the other services.
The cost of maintenance raises as the count of services increasing in tightly coupled distributed system. In the maintenance cost perspective SOA gives you the feasibility to minimize the cost factor.
Why -
So where we can use this SOA? basically most of the SOA projects are integration based projects where we can use the loose coupling concept to integrate the services.
SOA perfectly fits in the area where we reuse and composite the services to create new business processes. When a business extending, modifying its services or switching to other service providers or consumers SOA is the best option.
Subscribe to:
Posts (Atom)