Thursday, June 26, 2014

# 2 SOA12c - New Features - Project Structure / Technology & Cloud Adapters

12c SOA Project Structure


With 12c we get a new project structure when we create a new SOA App/Project.
This is easier to read as the 11g equivalent.
















Compare this to 11g -








Here are the tech adapters from 11g









Here are the tech adapters from 12c











Deltas

Web service (11g) has been renamed SOAP (12c)
There is a new section on the 12c palette for apps adapters and cloud adapters.

New 12c Tech Adapters

Coherence adapter
LDAP adapter
MFT adapter
MSMQ adapter
REST adapter

12c App / Cloud adapters













Other Cloud adapters include RightNow.

Most of the info below is straight from the ORCL docs -

Coherence Adapter -

Coherence provides replicated and distributed (partitioned) data management and
caching services on top of a reliable, highly scalable peer-to-peer clustering protocol.

A Coherence cache is a collection of data objects that serves as an intermediary
between the database and the client applications. Database data can be loaded into a
cache and made available to different applications. Thus, Coherence cache reduces
load on the database and provides faster access to database data. Objects in the cache
can either be of XML or POJO (Plain Old Java Object) type.

The Coherence Adapter enables you to perform useful Coherence operations such as
adding an item to a Coherence cache, obtaining an item from a Coherence cache,
removing an item and querying from a Coherence cache.

LDAP Adapter -

The Oracle LDAP adapter provides bi-directional connectivity with LDAP V3-
compliant directory servers. So now we can do CRUD operations on target directory servers.

MFT Adapter - I will discuss this in a separate post on MFT.

MSMQ Adapter - 

Microsoft Message Queueing (MSMQ) is a message infrastructure and a development
platform for creating distributed, loosely-coupled messaging applications for the
Microsoft Windows operating system.
Applications that use MSMQ create/locate a queue, connect to the queue, navigate the
queue, send/receive messages from a queue and use the MSMQ queue properties to
define the behavior of the queue where applicable and needed.

Some supplementary setup is required at WebLogic level - such an enabling jCOM etc. This is fully detailed in the adapters docs.

REST adapter - please see the next post for an example.




# 1 SOA 12c New Features - an overview

Welcome to SOA 12c.

Aligned with industry drivers such as Cloud, Mobile and Data.

Here are some of the new features I will detail in future posts -

General

1. Single JDev based developer install. Jdev's embedded WLS has the SOA engine deployed on it.
1.1. Uses JavaDB for soainfra schema

The weblogic server is installed here -

C:\Users\yourName\AppData\Roaming\JDeveloper\system12.1.3.0.41.140521.1008\DefaultDomain

2. Debugger

3. SOA Tester
3.1. Develop and test without having to go to EM

4. Continuous Integration support (Maven/Hudson)

5. REST support

6. SOA Templates

7. More flexible authorisation model

8. Exalogic optimisations

9. Enterprise Scheduler (ESS) New component

10. Improved EM console
10.1. Improved runtime visibility

11. Improved Error Hospital

12. Performance improvements
12.1. Composite lazy loading
12.2 DB Schema optimizations

13. Improved SOA Composer

14. MFT - New component - Managed File Transfer

15. Mobile Channel Enablement

16. Cloud Support

17. New JCA Adapters

18. B2B improvements

BPEL Specific

1. Support for inline and standalone sub-processes

2. Templates (Cmponent/Custom Activity)

OSB Specific

1. Design time in JDev

2. Mediator re-sequencer now available in OSB

3. OSB Mgt. Console in EM

4. Dynamic payload validation at runtime. Based on an expression.


OEP Specific

1. Design time in JDev

2. CQL enhancements

3. Spatial Improvements

4. Application compiler

5. Application and CQL testing

6. New and Improved adapters

7. Public Cartridge API

8. Improved Installer

9. Improved Coherence Cartridge

10. EDN integration

11. Business Rules integration

12. Performance optimizations


EDN Specific


1. Re-implemented on the basis of JMS

#323 SOA Suite 12c Unveiled








Check out the press release here















Check out the overview here
















Check out the product management blog here

Thursday, June 5, 2014

#322 12c @SOA Community Summer Camp August 2014












Another great event organized by Juergen Kress -
details here

Thursday, May 22, 2014

#320 Using Signals for inter process communication

BPM Start Activities of type Signal - subscribe to Oracle EDN events.
BPM End Activities of type Signal - publish Oracle EDN events.
BPM Wait activities of type Signal - subscribe to Oracle EDN events.
BPM Throw Activities of type Signal - publish Oracle EDN events.


I have the following composite -

























Process 1 is as follows -






It takes an as input, one of it's attributes is the unique orderNr.
It waits for the Signal Event - OrderOKEvent for that specific orderNr.

Process 2 is as follows -


It takes an as input, checks for a large order(value > 1000).
If it's a large order, then the LargeOrderEvent is raised.
The End activity throws the Signal - OrderOKEvent.
The payload for both events is . 
These are EDN events (Oracle Event Delivery Network).

Process 3 is as follows -








The Signal start activity is subscribing to the  OrderOKEvent.



Process 4 is as follows -







The Signal start activity is subscribing to the  LargeOrderEvent, but is only interested in large orders for
Irish customers. The contains the attribute custCountry, so we can query this.

So what correlation/filtering is required here?

Process 1 wants to subscribe to the OrderOKEvent for a specific orderNr, so correlation is required here.
Start Activity -















The Wait activity leverages this as well -
















Process 3 subscribes to all OrderOKEvents, so no extra configuration is required here.

Process 4 subscribes to LargeOrderEvents for Irish customers - so filtering is required here. This can be set as follows -










Set the filter -























I deploy the composite and create 2 instances of Process 1 for orderNrs 1 and 2.






































I now instantiate an instance of process 2, thus resulting in signals being published.















Check in em -








So we see 4 new instances -

290041 - Process 2 instance
290042 - the Process 4 Subscription
290043 - the Process 3 Subscription
290044 - the Process 1 Subscription
















You can also view EDN Messages in enterprise manager -























Here we see a list of Events  our two are included -





















here we see the subscriptions -
















JDev project available here