Thursday, February 6, 2020

Quick links for SOA Developers

SOA 12.1.3 Introduction

Introduction 

The rapid adoption of cloud-based applications by the enterprise, combined with organizations desire to integrate applications with mobile technologies, is dramatically increasing application integration complexity. Oracle SOA Suite 12c, the latest version of the industry’s most complete and unified application integration and SOA solution, meets this challenge. With simplified cloud, mobile, on-premises and Internet of Things (IoT) integration capabilities, all within a single platform, Oracle SOA Suite 12c delivers faster time to integration, increased productivity and lower TCO.
Oracle SOA Suite 12c enables you to:
  • Reduce time to market for new project integration  
  • Reduce integration cost and complexity  
  • Efficiently manage business and technology change
  •  Provide end-to-end solution monitoring with root cause analysis  
  • Gain increased visibility to quickly react to business events  
  • Ensure high availability and scalability for your business infrastructure

Key Features of SOA Suite 12c

  • Mobile Enablement  
  1. REST/JSON support  
  2. Built-in caching to help scale and reduce latency  
  • Cloud Integration 
  1. Single integration platform unifying cloud and on-premises applications 
  2. Dedicated cloud adapters to simplify integration of most popular SaaS applications  
  3. Extensive Web Services support  
  4. Support for file-based exchanges through companion Managed File Transfer product
  • Internet-of-Things
  1. Oracle Event Processing bridges the gap between Internet-of-Things (IoT) and SOA environments 
  2. Extract valuable patterns from massive streams of data incoming from devices.
  • High developer productivity 
  1. Graphical editor to assemble heterogeneous components into composite applications 
  2. Fully standard, metadata-driven
  • Extreme Performance & Scalability
  1. Unified runtime for eventing and services
  2. Runs on Oracle WebLogic Server, the cornerstone of the Oracle cloud application foundation.
  3. Supports millions of critical transactions each day at thousands of customers around the world 
  4. Deployable in high availability (HA) configurations and supports a number of disaster recovery setups (including Active-Active). 
  • Pluggable Services 
  1. BPEL Process Manager, leading stateful orchestration engine 
  2. Human workflow 
  3. Business Rules 
  4. B2B 
  5. Business Activity Monitoring 
  6. Enterprise Scheduler
  • Oracle Service Bus 
  1. Multi-protocol Enterprise Service Bus (ESB) 
  2. Industry’s highest performance & scalability
  • Connectivity
  1. Certified with 300+ application adapters for all leading applications, technologies and mainframes 
  2. Specific B2B adapters for EDI, ebXML, RosettaNet and other industry standards 
  3. Unifies connectivity between cloud and on-premise applications 
  • Unified Management & Monitoring
  1. Enterprise Manager Fusion Middleware Control provides the single pane of glass to manage and monitor integration flow 
  2. End-to-end instance tracking 
  3. One-stop solution for systems and business exceptions management
  • Integrated Security
  1. Centralized management of policies 
  2. Attachment of policies at design-time or runtime 
  • Built-in Real-Time Visibility
  1. Web dashboards
  2. Real-time analytics 
  3. Event processing 
  • Governance-ready
  1. Publish, share and discover services right from JDeveloper
  2. Dependency & impact analysis
  Functional Capabilities and Components:
   The functional components of Oracle SOA Suite are grouped in four broad categories: connectivity, service virtualization, orchestration & analytics as illustrated on the below diagram.
Functional Capabilities and Components.png
Oracle SOA Suite 12c Differentiators
Oracle SOA Suite 12c Differentiators.png

 Click here to expand...

    
Below are few Major Features introduced in 12c:
1. Jdeveloper 12c comes with the Integrated Weblogic Service with a support to deploy and test the SOA Suite 12c components.
2. New Technology Adapters: Below are the list of Adapters introduced and improved in SOA Suite 12c.
    a. Cloud Adapter for integrating with Salesforce.com
    b. SAP Adapter for integrating with SAP systems
    c. Rest Adapter for Mobile enablement
    d. Coherence Adapter integrates Coherence Cache with SCA Composites
    e. LDAP Adapter to access the LDAP directory of the enterprise
    f. MFT Adapter to integrate Managed File Transfer (MFT) with SOA Suite
   g. MQ Adapter to integrate with IBM MQ
   h. Oracle Adapter for JD Edwards World
    i. The Enhanced UMS Adapter
3. Enterprise Scheduler Service (ESS) 12c : ESS is part of the SOA Suite license and used to schedule jobs (using job metadata modeling). Jobs can be created and scheduled through the EM, but there is also a Java API.
4. Managed File Transfer: MFT is a simple and secure End-to-End Managed File Gateway. The main purpose of MFT is transferring files between a source and one or more targets.
5. Integration of SOA and SB development: In 11g the development environment of the SB is in OEPE (Eclipse), while the SCA Composite development environment is done in JDeveloper. In 12c both SB and SCA development is done in JDeveloper.
6. SOA Templates: Templates has been introduced in SOA Suite 12c which can be re-used at all levels within a SCA composite.Using the build-in template support you can kick-start a SCA Composite or add reusable components. There are three types of templates; SOA Project, Component and Custom Activity template. Templates are fully editable, one you apply them to you SCA Composite or BPEL component it is part of that composite or component. When you create a template all dependencies (partnerlinks) are also part of the template.
7. BPEL Sub-processes: Sub-processes allow certain business logic to be made reusable.There are two types; standalone and inline. Inline Sub-processes permits access to data (variables) of the parent process, but with a standalone Sub-process the data needs to be assigned. Sub-processes are here to improve performance (faster rendering of only entity in question) and manageability (modular approach) of BPEL processes.
8. Updated XSLT mapper and XQuery support: For the first time Jdeveloper provides the support to XQuery Mapper with SOA Suite 12c. XSLT mapper now has a better support for complex stylesheets with multiple templates, user defined functions (also recursive functions) and you can see the XSLT execution sequence.
9. File Based MDS: In addition to DB based Meta Data Store repository provided by 11g, 12c also provides access to File based MDS for use during design time.
10. MDS Support for Oracle Servce Bus Services: Service Bus has now design-time support for Meta Data Store repository.
11. Enterprise Manager for SB Services: Unlike 11g OSB services will now be and available in Enterprise Manager Console and the Service transaction can be tracked and audited in 12c.
12. In SB 12c individual activities can be disabled, this functionality will be useful if you want to skip few activities but don't don't want to delete them. Every activity can be disabled at design and run-time. In 12c SB use can access Domain Value Maps unlike 11g, where the DVM support was not available.
Complete 12c.png
Oracle Documentation 12.1.3

Thursday, November 22, 2012

SOA Basic- Real components of SOA Suite




                                                  Basic-Real Components of  Oracle SOA





                        Oracle SOA Suite components as below,

                        ■ Oracle Enterprise Service Bus
                        ■ Oracle BPEL Process Manager
                        ■ Human Task
                        ■ Oracle Business Activity Monitoring
                        ■ Oracle Complex Event Processing
                        ■ Oracle User Messaging Service
                        ■ Separately Licensed Products

Tuesday, November 6, 2012

BPEL Test case creation




Steps for creation of Test Suite and Test Cases

a) Open up the BPEL process project in Oracle Jdeveloper.
b) Expand the Integration Content section in the Application Navigator.
c) Right click on the “Test Suites” subsection and click on “Create a new Test Suite” in the context menu.
d) Give a name to the Test Suite, preferably with the same name as your process suffixed with “TestSuite”.
For instance, CreateCustomer process shall have a test suite named CreateCustomerTestSuite.
e) Once the Test Suite has been created, expand the “Test Suites” subsection and right click on the test suite
name to create a new Test Case, by clicking “Create BPEL Test”.
f) Give a name to the Test case, preferably as the Process Name suffixed by “TestCase<index>”, where
<index> is “1” for the first testcase, “2” for the second, and so on. Leave the checkbox “Add as Baseline
Test” unchecked. Press OK to complete the selection.
g) The Test Case graphical view opens up. The next step would be to emulate the receive activity with a static
input file.
h) To obtain a static input file, use any available input files you may have already saved onto the local file
system, or obtain a fresh one from the audit trail of an existing execution of the BPEL process instance.
i) Double click on the receive activity.
j) Switch to the “Emulate” tab and check the radio button “Emulate Message”.
k) Click on the flashlight to select the input XML file from the local file system.
l) Press “OK” to complete the selection.



Now, the test case is ready for deployment.

a) Right click on the “Test Suites” subsection in the “Applications Navigator” and select “BPEL Test deployer’.
b) Select the test suite and the test case(s) to be deployed, and then make your selection of the deployment
environment.
c) Click on “Deploy” to deploy the test suite.


Executing the Test Case from the BPEL Console

a) Navigate to the BPEL Console and click on the Process.
b) Click on the “Test Suites” tab to view the available test suite and test cases.
c) Check the test suite/test case that you wish to execute and click on the “Execute Tests” button to execute
the test.



Tuesday, October 30, 2012

Timeout Error - Process Instances not appearing in BPEL console


Problem Occurance  


Oracle(R) BPEL Process Manager - Version: 10.1.2 to 10.1.3
This problem can occur on any platform.

Reason 
 
New BPEL process instances are not visible in the BPELConsole.
However, Instance activity can be seen in the domain.log.

Additionally you may see transaction timeout errors in the Domain.log

Root-Cause

At the application server J2EE layer, the JTA transaction timeout is less than the time it takes to perform an activity.

The recommended JTA transaction timeout value should be increased to the total time of the sync activity or exec activity, then add 2-3 minutes.
Solution

To implement the solution, please execute the following steps:

1. Within the J2EE application container level, increase the JTA transaction timeout value to the
expected total time of a sync activity or exec activity, then add 2-3 minutes.
2. Restart the container and retest.

If using OAS, this is configured via the iasconsole > midtier:instance > OC4J:instance > config > server.xml > transaction-config timeout parameter that by default is set to 30000. 

Info on this parameter:
Oracle® Application Server Containers for J2EE, User’s Guide, 10g Release 2 (10.1.2)
Part No. B14011-01
Page 116/144
http://download-west.oracle.com/docs/cd/B14099_09/web.1012/b14011.pdf

<transaction-config>
Transaction configuration for the server.
Attribute:
■ timeout="30000" — Specifies the maximum amount of time (in milliseconds) that a transaction can take to finish before it is rolled back due to a timeout. The default value is 30000. This timeout will be a default timeout for all transactions
that are started in OC4J. You can change it by using the dynamic API—UserTransaction.setTransactionTimeout(milliseconds).

In OAS / OC4J / SOA Suite 10.1.3 this parameter is no longer supported.  Instead this is defined through the Application Server Control url, and then: oc4j_soa instance > administration > under SERVICES / Transaction Manager (JTA) > administration > under GENERAL, modify 'Transaction Timeout'. Apply and restart the container.  For more details see: Oracle® Containers for J2EE Services Guide, 10g (10.1.3.1.0), Part Number B28958-01 -  http://download-west.oracle.com/docs/cd/B31017_01/web.1013/b28958/jta.htm
Additionally, Appendix A1.1 of the BPEL Developer Guide goes into detail for each of the timeout settings, at http://download-west.oracle.com/docs/cd/B31017_01/integrate.1013/b28981/app_trblshoot.htm#sthref3957

NOTES: The 'syncMaxWaitTime' parameter in the Manage / BPEL Domain link of the BPELConsole can also be modified to alter the maximum time the process result receiver will wait for a result before returning. Results from asynchronous BPEL processes are retrieved synchronously via a receiver that will wait for a result from the container.  This can useful when debugging transaction timeout errors that can sometimes accompany the main subject of this Note.

Monday, October 29, 2012

OSB FAQS -1


Third Party Compatibilty and Certifications....

1.Can Oracle ESB Run in a Third-Party J2EE Container (JBoss, WebSphere, WebLogic)?

Oracle ESB is certified to run on WebSphere (as is Oracle BPEL Process Manager).
Certification on WebLogic and JBoss is currently in progress.

2.Can I Use a Third-Party JMS Provider (TIBCO, WebSphereMQ, SonicMQ) as the Internal
Oracle ESB Transport?

In 10.1.3.1, Oracle ESB requires OEMS for its internal usage. However, Oracle ESB has
been designed to be provider-agnostic and Oracle may certify other vendors' JMS
providers based on demand (for customers who already have a JMS provider in-house
and do not want to learn and manage an extra JMS provider).
Oracle already supports many other vendors' JMS providers on the edges (that is,
Oracle ESB can listen to and send messages on many different JMS providers).

3.Can Oracle ESB Send to or Receive from a Third-party JMS Provider (TIBCO EMS,
WebSphere JMS)?

Yes. Oracle ESB, or more precisely the JMS adapter, supports a large number of
third-party JMS providers. The following file shows how to send and receive against
TIBCO EMS:
j2ee/SOA_CONTAINER/application-deployments/default/JMSAdapter/oc4j-ra.xml

4.What Databases are Supported as a Storage Backend for the ESB Server?

At this point, only Oracle databases are supported as a storage backend for the ESB
Server. Oracle Lite is installed as part of the basic developer installation on Windows.
Use Oracle Database 10g for production hosts.

5.On Which Operating Systems Does Oracle ESB Run?

Oracle ESB is part of Oracle Application Server, and runs on the same operating
systems as that. See the certification matrix for the most up-to-date information:
http://www.oracle.com/technology/software/products/ias/files/oracle_
soa_certification_101310.html

6.How Can I Use an Oracle 10.1.2 Database Server on a Windows Client Workstation with
Oracle ESB and Oracle SOA Suite?

Normally, the Oracle Database server can only be installed on a Windows Server, such
as 2000 or 2003 Server.
For development purposes, Oracle SOA Suite bundles Oracle Lite as part of the basic
installation to minimize the installation footprint of using a full Oracle database. You
can also use the advanced installation option and configure it to run against Oracle XE,
which works fine on Windows XP.

7.Can I Consume Oracle ESB Services from .NET Clients?

It is completely possible. Be sure to install and develop the .NET clients with
VisualStudio SDK 3.0 and use VisualStudio 2005 Service Pack 1. There are problems if
the .NET clients are not developed with these components.

8.Which Adapters are Available with Oracle ESB?

All adapters supported by Oracle BPEL Process Manager are available in Oracle ESB:
■ Technology adapters (file, FTP, MQSeries, database, AQ, and JMS)
■ OracleAS Adapter for Oracle Applications
■ Third-party adapters:
– Applications (J.D. Edwards OneWorld, SAP, PeopleSoft, and Siebel)
– Legacy (CICS, IMS/DB, IMS/TM, Tuxedo, and VSAM)

9.How Do I Connect to a Protocol or Application for which Oracle Does Not Have an
Adapter?

You can always write Java code and integrate either using WSIF Java binding or by
building a custom JCA adapter.
Oracle provides technology, application, and mainframe adapters. Others may be
available through our partners in a co-sell model (that is, sold on partner paper and
supported by the partner). Current Oracle SOA Suite adapter partners are iWay,
Pervasive (specialize in small-to-medium size business applications), Attunity
(specialize in mainframe adapters), GT Software (specialize in adapters for mainframe
platforms z/OS, MVS, and VSE), NetManage, and Ericom (specialize in screen scraper
adapters). If you still do not find an adapter for your application, you likely need to
understand the architecture for the target system and application and look at using our
available technology adapters.

10.Can You Create an ESB-to-ESB Bridge Across a Firewall?

Oracle ESB can connect through a firewall on the edges using traditional MOM
technologies such as the FTP adapter and SOAP/HTTP Web services with proxy. The
10.1.3 OC4J JMS Router component can also send JMS messages across a firewall over
HTTP(S). Oracle ESB does not internally support any node-to-node communications
through a firewall for asynchronous routing rules or any internal Oracle ESB JMS
topics.

11.How Do I Call an Oracle ESB Routing Service from ADF?

You create a Web service proxy, as shown in section 10.3 of the Oracle SOA Suite
Tutorial. This question came up on the SOA Oracle Technology Network forum:
http://forums.oracle.com/forums/thread.jspa?threadID=451847

12.Can Oracle ESB Handle Inbound HTTP Posts?

Yes, by writing a J2EE servlet that receives the HTTP POST or GET and invokes an
Oracle ESB service. The HTTP WSIF provider can generate outbound HTTP requests.
Additionally, Oracle is considering building an HTTP adapter if customer demand is
sufficient. Send customer requests to vikas.anand@oracle.com.

14.Does Oracle ESB Support WSIF and are Samples and Additional Information Available?
Yes, Oracle ESB supports WSIF. There are samples available on the Oracle ESB Oracle
Technology Network page (http://www.oracle.com/technology/goto/esb).
There is an article on WSIF entitled "Using WSIF for Integration" that is recommended
for anyone looking to understand and make use of the benefits of WSIF. Additionally,
Oracle ESB relies more heavily on WSIF for Java integration because Oracle ESB does
not include the EXEC Java functionality that is included in Oracle BPEL Process
Manager.

15.Does Oracle ESB Support RPC Style SOAP Services?

No, Oracle ESB 10.1.3 does not support RPC style SOAP services, binary attachments,
or multipart WSDLs.



SOA Conceptual Architecture...



In recent years, many enterprises have evolved from exploring pilot projects using ad-hoc adoption of SOA and expanded to a defined repeatable approach for optimized enterprise-wide SOA deployments. All layers of an IT SOA architecture have become service-enabled and comprise of presentation services, business processes, business services, data services, and shared services.


Typical SOA Conceptual architecture exists as below,