3. 3
Changed project structure
The structure of the project has changes drastically.
All components are now placed in there own sub folder.
• Adapters - Collection of JCA adapter resources
• BPEL - Collection of BPEL en SBPEL components
• Events - Collection of Event definitions
• DVM - Collection of Domain Value Maps
• Mediators - Collection of Mediator components
• Schemas - Collection of XML Schemas (XSD)
• Testsuites - Collection of Composite tests
• Transformations - Collection of XSLT transformations
• WSDLS - Collection of service contracts
The composite.xml carries the name of the SOA project.
5. 5
New designed
Properties view
It displays as it were, all the steps in the wizard or tabs of the dialog
window of a component activity and possibility to make changes
6. 6
Share artifacts across apps
• Possible to transfer (local) artifacts from a SOA application to the Design-
Time MDS
• Wizard to share design time artifacts such as WSDLs and Schemas
across applications
• Updates all the references to the transferred artifacts with MDS URLs
on transfer
8. 8
SOA Templates
• 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
– Once you apply them to you SCA Composite or BPEL component it is part of that
composite or component
• All dependencies (e.g. partnerlinks) are part of the template
• Templates are visible if available in the template path
– But there is also an import wizard available
9. 9
SOA Templates
• Project Templates
– Create/load an entire project.
– Accessible at creation of new project, or when it is part of new application.
– Example: skeleton project with default adapters and mediators (without wires).
• Component Templates
– Create/load a component with all his dependencies (resources and components).
– Automatically discovered in the Components window (Composite editor)
– Example: BPEL process with default invocations to common services.
• Custom Activity Templates
– Contain variables and activities (assign, invoke, transformation, etc).
– Automatically discovered in the Components windows (BPEL Process editor).
– Example: Default Fault handling scope
12. 12
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
– With a standalone Sub-process the data needs to be assigned
• Improve performance (faster rendering of only entity in question) and
Manageability (modular approach) of BPEL processes
12c Composite: BPEL Standalone Sub-Process
13. 13
BPEL Sub-processes
Details about inline sub-process:
– Group activities that can be re-used in the same BPEL process
– It is part of the parent BPEL process code and not visible in composite view.
– There is a new ‘call’ activity in BPEL to call a sub-process
– You can define parameters or use the parent process parameters.
– The inline sub-process is visible in the Activities (component) view.
– Activities should be part of a scope to be converted to a sub-process.
– At run-time, the code of the sub-process is reusable and can be parallel used.
Only one copy is stored in the memory, even when it is invoked 20 times.
14. 14
BPEL Sub-processes
Details about standalone sub-process:
– It is a fragment of a BPEL process, which includes a set of activities that can be
reused by other BPEL processes.
– A standalone sub-process has no interface, and can only be called by another BPEL
process, but may have partnerlinks.
– In the composite view, the wire to a sub-process is shown as a dotted line, in order to
indicate that there is no interface.
– The ‘call’ activity is used to call standalone sub-processes.
– In the first release of 12c, sub-process can not be called from outside its own
Composite, but it may change in the future.
– Sub-processes are visible in the component view to make them easy to drag into a
BPEL process.
16. 16
Translate from Native action
• With this action you can transform a CSV/JSON/String element of the
request to XML using a NXSD transformation.
• Transformed output can be used in the routing rules of the Mediator
• Action can be done on operation level and on a specific routing rule
17. 17
Override Using action
• Override routing rule options using a DVM or Business Rules
• Change the routing rule option dynamically based on a request element
• With the key value you have the possibility to override:
– XSLT transformation file
– Filter expression
– Execution Type
– Syntax Validation
– Semantic Validation
• Reduces the creation
a bunch of static routing
rules
20. 20
BPEL 2.0 default specification
In 12c BPEL uses 2.0 specification by default
21. XQuery support & mapper
• 100% XQuery 1.0 support in SOA Suite Composites
• Dedicated activity to use XQuery for transformations (BPEL)
• XQuery mapper with support for XPath 2.0 and user defined functions
• User friendly and made consistent with the XSLT mapper interface
• Integrated Test framework (Run Xquery)
• Build for reuse in both SOA & Service Bus
23. 23
Enhanced XSLT Mapper
• Better support for very large and
complex stylesheets
• Multi-template support
(also recursive functions)
• Source & target structures from
sample XML
• XSLT execution sequence
• Testing capabilities
24. 24
Fault Policy Editor
• Graphical editor for creating Fault policies, Alerts, Actions & Property Sets
• New Default actions for invoking a WS and enqueue data (JMS).
• Alerts can be defined to send fault to JMS, Email or Log file.
• Alerts can be assigned to actions if type of Alert is desired to be triggered.
• Fault Policies can be coupled, using the Composite Binding dialog, to
different levels:
– Composite
– Component
– Reference binding
– Service binding
28. 28
Encrypt/Decrypt Personal info
• Protect sensitive data from appearing as clear text in admin consoles
– For example a Social Security Number or Credit card Number
• Encrypt/Decrypt specific fields in messages
• Available in SOA and Service Bus
29. 29
Sensors DT@RT
• Possible the define or change Sensors at runtime: Design Time at Run
Time (DT@RT)
• Functionality is added to the existing ‘SOA Composer’ application
SOA Composer 12c: Sensor Values
In JDeveloper 12c the Component and Properties views undergone a metamorphosis.
In the Components view the Components and adapters are now logically separated and it is possible to display the items in a list view.
In 12c the Properties view is finally used when developing SCA Composites and Service Bus Pipelines. It displays as it were, all the steps in the wizard or tabs of the dialog window of a component activity. Instead of editing the activity using the wizard you can now use the Properties view to make changes.
Share artifacts within and across applications
In 12c it is now more then ever easy to use the MDS. It is now possible to transfer (local) artifacts from a SOA application to the Design-Time MDS. JDeveloper has a wizard to share design time artifacts such as WSDLs and Schemas across applications. After transferring the artifact the references are automaticly updated with MDS URL.
In 12c it is easier then ever to re-use 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.
Templates will be visible if they’re available in the template path, configured in JDev, but there is also an import wizard available to bring templates in from different system.
Project TemplatesWith this kind of template you can create/load an entire project. Great example for this template is a skeleton project with default adapters and mediators (without wires) of use it for training purposes so that everybody starts with the same resources. Project templates are accessible at the time of new project creation directly, or when it is part of new application.
Component TemplatesWith this kind of template you can create/load a component with all his dependencies (resources and components). For example a BPEL process with default invocations to common services. This template can be automatically discovered in the component palette when in the Composite editor.
Custom Activity TemplatesSimilar to a standalone subprocess, only the code is added to existing BPEL process and dependencies are added to Composite. It can contain variables and activities (assign, invoke, transformation, etc). This template can be automatically discovered in the component palette when in the BPEL Component editor.
Project TemplatesWith this kind of template you can create/load an entire project. Great example for this template is a skeleton project with default adapters and mediators (without wires) of use it for training purposes so that everybody starts with the same resources. Project templates are accessible at the time of new project creation directly, or when it is part of new application.
Component TemplatesWith this kind of template you can create/load a component with all his dependencies (resources and components). For example a BPEL process with default invocations to common services. This template can be automatically discovered in the component palette when in the Composite editor.
Custom Activity TemplatesSimilar to a standalone subprocess, only the code is added to existing BPEL process and dependencies are added to Composite. It can contain variables and activities (assign, invoke, transformation, etc). This template can be automatically discovered in the component palette when in the BPEL Component editor.
Re-use of BPEL code using Sub-processes
Sometimes in BPEL you will do the same thing on multiple places within the same BPEL process. For futher re-use of code this release of SOA Suite 12c introduces 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.
At the level of the Java callout an extra action Translate from Native is added. With this action you can transfrom a CSV/JSON/String element of the request to XML using a NXSD transformation. The transformed output can then be used in the routing rules of the Mediator. This action can be done on operation level, but also on a specific routing rule for that operation.
With this action you can override routing rule options using a DVM or Business Rules. Based on a element value of the request you can change the routing rule option dynamically. With the key value you have the possibility to override the XSLT transformation file, Filter expression, Execution Type, Syntax Validation (XSD), Semantic Validation (Schematron) file instead of creating a bunch of static routing rule.
The last noticeable change to the Mediator is that the graphical editor for the Assign action is the same as BPEL uses. You can create multiple copy rules by using drag and drop functionality.
Xquery Mapper is another new functionality in SOA 12c.
There is 100% support for XQuery 1.0
There are XPath 2.0 plus user defined functions; As well as Library & main modules
The Xquery mapper is user friendly and consistent with XSLT mapper interface
There is a Test framework available. The developers can do ‘Run XQuery’, by doing a right click on the mapper file in the application navigator
It is built for reuse in SOA & Service Bus
The XSLT Mapper in SOA 12c has been enhanced
There is better support for very large and complex stylesheets
It has Multi-template support
There are Source & target structures from sample XML
There are icons available at the top of the XSLT mapper that are packed with functionality related to:
‘XSLT execution sequence’ generation
Testing capabilities