Beruflich Dokumente
Kultur Dokumente
Introduction 1
Features list 2
1.IDEs 4
2.Single installer 5
3.JDeveloper debugging 6
6.Purge/partitioning improvements 10
8.ojAUDIT 12
12.Continuous integration 18
Conclusion 26
Appendix A: Acronyms 27
Appendix B: References 28
Introduction
A key differentiator of Oracle SOA Suite 11g relative to other integration platforms has always
been the unified interface across most of the components for Oracle SOA Suite. Oracle SOA
Suite 12c takes this differentiator to another new level by integrating the remaining major
components of Oracle SOA Suite into a single unified experience.
This feature simplifies integration by eliminating the need to train developers, administrators,
architects, and others on separate components of every aspect of integration, which lowers cost
and provides a faster time to integrate.
This unification results in a single design-time experience, single run-time infrastructure, and
end-to-end monitoring and greatly simplifies the work of building, maintaining, and monitoring
distributed SOA implementations. Oracle SOA Suite 12c is integrated not only with the tools and
capabilities provided by the suite itself, but also with external systems and applications. This
enables an integrated platform from which customers can create enterprise solutions for a
heterogeneous environment. And the integration of the SOA platform includes both components
developed internally at Oracle and those brought in through acquisition.
This white paper is all about the new features of Oracle SOA 12c while presenting a comparative
study against the features of SOA Suite 11g.
Features list
Both Oracle SOA Suites 12c and 11g provide capabilities you need to deliver robust, agile, and
reliable SOA solutions. The following is a list of the major capabilities of the suite across the
important areas of focus:
Custom Streaming
Web-based UI
Built-in Scheduler
Single installer
Fault Policy
Cloud Adapter
Following sections are meant to delve deeper into the exciting features that make Oracles
SOASuite12c stand out as best-of-breed software in the SOA and middleware space.
1.IDEs
Both Oracle Service Bus and BPEL/Mediator have a common unified IDE in SOA Suite 12c as
against multiple IDEs for SOA Composite and OSB. This implies that for Oracle Service Bus
development, no longer OEPE (Eclipse), a separate IDE is needed. In fact, now an Oracle
Service Bus component can be very well bundled within an SCA composite along with a BPEL
workflow or a mediator component.
2.Single installer
To kick-start exploration and development with SOA12c, it now takes just about 30 minutes to
create your very first Hello World process. Oracle has created a single quick-start package
installer, which will install the following at one go:
IDE:JDeveloper12c
IntegratedWeblogicServer
SOASuiteServer(ServiceBusincluded)
JavaDBthatactsastheinternalSOADB
EnterpriseManagerFMWControl
Whereas in SOA 11g, separate installers for JDeveloper, WeblogicServer, Database, RCU, and
SOA Suite are required for setting up the development environment.
This helps the developer and technical architect to play around the product, assess its merits,
and perform POCs and feasibility studies without the requirement of extra hardware (server,
memory, or admin) or the need for maintaining the server and associated admin jobs.
3.JDeveloper debugging
A new feature in Oracle SOA Suite 12c is introduced to debug SOA and OSB applications at
design time within the IDE. With the help of this, the code can be debugged before deploying,
which helps save lot of development efforts by the development team.
If there are any issues while testing, we would have to repeat all the above steps. But, with the
new feature of SOA Debugger in 12c, we can add code breakpoints either at Composite or
BPEL or Service Bus Pipeline or even at Activity levels and troubleshoot them in Debug Mode.
During debugging, the value of variable or XML element can also be changed.
Two red arrows pointing to different directions in the above diagram signify that the breakpoints
are added to Service and Component for both Request and Response.
In SOA Suite 11g, OSB and Mediator were a separate entities altogether in terms of installation
as well as development environment and IDE, whereas in 12c, OSB is a part of SOA Suite and
can be a part of the SCA composite developed in the same IDE.
With 12c, some new features have been added in Mediator like Translate from Native Action,
Override Using Action, etc.
For example, when the value of the process/input element in the request message is long (i.e.,
longer than six characters), we want this value to be sent in UPPERCASE to the BPEL process.
If the value is shorter, then nothing should be done. In order to achieve this, the override feature
of Oracle Mediator can be utilized.
Why mediator is placed along with OSB in 12c: It is all about product packaging and
technologically speaking it is a redundant component; however, from the product life cycle
perspective, Oracle did not want to remove the Mediator component as it will help 11g users
migrate their services.
When to use mediator or OSB: To have a very lightweight routing mechanism with features like
re-sequencing, one can go for mediator, and for heavy routing mechanism and minimal
branching, one can go for OSB.
Mediator is a tiny light-weight service bus; it is limited to simple mediator functionality for the
implementation of the VETRO (Validate, Enrich, Transform, Route, and Operate) pattern. It
supports message transformation with XSLT and is also capable of performing re-sequencing of
the messages.
Whereas, OSB is a large and powerful stand-alone Service Bus. It has extended functionality for
enterprise-wide integrations like Message Throttling, Service Pooling, and Reliable Messaging. It
supports message transformation with XSLT and XQuery.
SOA Suite 12c added two new database connection types when creating database connections:
JavaDB and JDE World.
JavaDB(Derby)ItisusedtorunSOASuiterepository,whichisusedfortheintegrated
server.ItisadevelopmentdatabasethatallowsonetostartdevelopmentwithSOASuite
withouttheneedtoruntheRCU.JavaDerbyDatabaseisafilebaseddatabaseandthatmakesit
reallyfasttouse.
JDE(JDEdwards)WorldWiththisconnection,onecanhaveeasyaccesstothedatainthe
JDEdwardsdatabase.
These two database connection types were not there in the earlier versions of SOA (e.g., SOA
11g). This is a new feature in SOA Suite 12c.
6.Purge/partitioning improvements
In this release of SOA Suite, the ongoing maintenance cost is going to get reduced due to the
improved purge and partitioning features.
AutopurgeofSOADBenabledbydefaultfornewcustomers
ImprovedperformanceduetoconsolidationofAuditandFlowInstancedata.
IntervalPartitioningacceleratespurgingbytargetingtables/instanceswithinatimerange.
In this release of SOA Suite, a REST binding has been introduced in JDeveloper to simplify
mobile enablement by exposing traditional SOAP services, Enterprise Java Beans (EJBs), JCA
Adapters connecting back-end applications, or any other underlying implementation through
REST/JSON.
Mobile integration is going to get better with the improved REST and JSON Support in 12c.
OnecanexposeanyserviceorreferenceasREST
ThereisawizardtoconfigureRESTInterface
ChoicetouseXMLorJSON
Mapoperationstoexistingservicesandbindings
AutogenerationoftestpayloadsandURLs
8.ojAUDIT
JDeveloper provides a tool for auditing task, which is called an ojAudit. By default, one can find
this tool in the <oracle_home>/jdeveloper/jdev/bin directory.
It is a tool used to run an audit profile against a specific application, project, or even a specific
file using command line or directly with Jdeveloper.
This is not a new feature in 12c; it was already available in 10g and 11g. In SOA 12c, GUI is
different and a few more profiles are added to the Auditing framework.
Besides mobile enablement, one of the new directions of the industry is cloud computing. SOA
Suite 12c offers configuration-driven Cloud Adapter for reduced complexity of integration with
key SaaS and PaaS platforms.
Oracle Cloud Adapters enable seamless and simplified connectivity with cloud applications
through its intuitive design-time wizards and rich processing options in contrast to exposing
complex WSDL interfaces for the original SaaS service (Salesforce.com for example). The cloud
adapter configuration wizard engages users with an extremely simplified view of the business
object catalog from the SaaS application from where they could browse and select one or more
objects of interest for executing CRUD style interactions.
Most importantly, all of the nuances of integrating with cloud applications, such as session
management, handling the complex WSDL, and security are addressed within the adapter itself.
Users are not exposed to these complexities and instead can focus on fulfilling the business
requirement at hand. With all these tasks delegated to the adapter, the likelihood of manual
errors is significantly eliminated; development cycles are reduced and maintenance costs are
also lowered.
The cloud adapters have support for inbound and outbound integration, secure connection, and
session management. It has a graphical API discovery, uses declarative modeling through
wizards, and supports optimization of API requests (for example, it can combine operations into
a single request to the cloud service).
The Salesforce.com adapter has the same global features as described above, but also has
support for standard and custom Salesforce objects, SOAP API using Partner WSDL and
Enterprise WSDL, and Salesforces own Query Language (SOQL) and Search Language
(SOSL). The adapter uses the Oracle Credential Store Framework to store user credential and
supports the adapter diagnostic framework for reporting and alerting.
One of the new adapters shipped with SOA Suite 12c is the Coherence Adapter. This JCA
adapter makes it easy for a Service Bus business service or an SOA composite application to
interact with a Coherence memory grid. Fully declaratively and with very little trouble, data can
be put on a cache and read from that cache. The cache is accessed like a big map: using a key,
an object is saved to and retrieved from the cache. The cache is accessible across service
executions and process instances, as well as across cluster nodes. Coherence provides
replicated and distributed (partitioned) data management and caching services on top of a
reliable, highly scalable peer-to-peer clustering protocol. The Coherence Adapter is a JCA 1.5-
compliant resource adapter for Oracle Coherence. 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.
A Coherence Cache is typically used to reuse results: values that have been calculated before at
potentially some cost to the back-end system. By reusing them, the results are obtained much
faster and without any load on the enterprise resources that would otherwise have to reproduce
them. Using values from the cache may actually mean saving money in the case that calculating
the result involves invoking paid for services.
10g does not have the Coherence feature, whereas in 11g we can achieve coherence by using
OSB. We need to configure the coherence cluster at the Weblogic server level and use "Result
Caching" feature of OSB Business Service.
Oracle has introduced a Coherence Adapter in SOA Suite 12c to achieve Coherence. The
Coherence Adapter allows seamless integration with Oracle Coherence, the industry-leading
in-memory data grid solution that enables organizations to predictably scale mission-critical
applications by providing fast access to frequently used data. In many cases, data in back-end
applications or databases does not change very often. Retrieving data like this by directly
accessing these systems every time is too costly. The coherence adapter provides the ability to
push the data to the coherence cache and access it directly from the cache when needed.
With this release of SOA Suite, XQuery Mapper has been introduced and can be used within
BPEL workflows.
The XQuery mapper has support for XPath 2.0 and custom user-defined functions. The mapper
is really user friendly and has been made consistent with the XSLT mapper interface. The
mapper also has an integrated Test framework and is built for reuse in both SOA and Service
Bus. The updated XSLT mapper now has a better support for complex style sheets with multiple
templates, user-defined functions, and recursive functions with the feature of looking at the XSLT
execution sequence.
The developer can choose between XSLT and Xquery depending on the transformation
requirements.
In 11g, Xquery was only a part of OSB and not SCA composites.
12.Continuous integration
It is a software engineering practice that attempts to improve quality and reduce the time taken
to deliver software by applying small and frequent quality control efforts. It is characterized by
these key practices:
Aversioncontrolsystemisusedtotrackchanges.
Alldeveloperscommittothemaincodeline,headandtrunk,everyday.
Theproductisbuiltoneverycommitoperation.
Thebuildmustbeautomatedandfast.
Thereshouldbeautomateddeploymenttoaproductionlikeenvironment.
Automatedtestingshouldbeenabled.
Resultsofallbuildsarepublished,sothateveryonecanseeifanyonebreaksabuild.
Deliverablesareeasilyavailablefordevelopers,testers,andotherstakeholders.
Oracle Fusion Middleware 12c provides support for enterprises that adopt continuous integration
techniques to develop applications on the Oracle Fusion Middleware platform. Specifically, it
provides the following:
IntegrationwithcommonversioncontrolsystemsfromthedevelopmenttoolOracleJDeveloper
TheabilitytobuildprojectsfromthecommandlineusingMaven,abuildandproject
managementsystem,sothatthebuildcanbescriptedandautomated
TheabilitytocreatenewprojectsfromMavenarchetypes
Theabilitytoparameterizeprojectssothatbuildscanbetargetedtodifferentenvironments,such
asTest,QA,SIT,andproduction
TheabilitytoincludetestingofprojectsintheMavenbuildlifecycle
TheabilitytopopulateaMavenrepositorywithOracleprovideddependenciesfromanexisting
localOraclehomesoftwareinstallationdirectory
TheabilitytorunMavenbuildsunderthecontrolofacontinuousintegrationserverlikeHudson
Comprehensivedocumentationaboutsettingupyourbuildorcontinuousintegration
environment,orboth,tousewithOracleFusionMiddleware
Although this was a more or less common practice for integration projects but this time, Oracle is
formalizing and recommending the process.
Following choices are available for version control, continuous integration, and other
components that enterprises typically use in this kind of environment. Many of these components
are free and open source, and others are commercial products.
Open Source
ApacheSubversionforversioncontrol
ApacheMavenforbuildorprojectmanagement
ApacheHudsonasthecontinuousintegrationserver
Proprietary
ApacheArchivaastheMavenRepositoryManager
The 12c release of Oracle Fusion Middleware brings us a brand new feature called Managed
File Transfer abbreviated as MFT.
MFT is its own product in the FMW 12c family and runs on its own managed server. It is
intended for receiving and sending large files (through 500+ GB) and is a solution for removing
binary files from an SOA transaction, i.e., the SOAP message does not contain the binary file
any more.
There is a growing problem with FTP in the enterprise. FTP can have a lack of control, visibility,
security, and reliability. Such problems can be the uncontrolled proliferation of FTP servers and
clients, no global visibility into exchange of crucial data files (including customer data), and that
they are not integrated with enterprise security standards.
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. The core is based on an
embedded sFTP/SSH service and is optimized for large files and supports HA cluster, PGP
encryption, auditing, and monitoring of files. Transfers are easily extensible using the
preprocessing/postprocessing framework.
It integrates with (s) FTP, File, B2B, ODI, health care and SOA, B2B, and webservices (support
for inline payload, attachment, and pass-by reference). MFT runs as an application on WebLogic
12c and has a lightweight Web-based design time interface to easily build, edit, and deploy
end-to-end transfers and a run time interface to monitor running/failed transfer instances.
SOA Suite 12c release brings another new product to the FMW 12c family: Enterprise Scheduler
Service abbreviated as ESS is part of the SOA Suite license and with it one can schedule jobs
(using job metadata modeling). Jobs can be created and scheduled through the EM, but there is
also a Java API. Now, the question arises, does this replace Quartz? No, SOA Suite still uses it
internally (e.g., wait activity in BPEL).
ESS 12c can call Enterprise JavaBeans (EJB), PL/SQL (procedures/functions), Java, and
WebServices (SCA/SB and Sync/Async with OWSM). It also keeps track of dependency
management, conflict resolution, prioritization, clustering, processor allocation, and throttling.
It supports the scheduling of SCA Composites and SB Proxy services. It has prebuild jobs for
initiating, activating, and deactivating SOA and Service Bus components (e.g., activate DB
adapter between a specific time frame). It can schedule bulk error notifications to the dashboard
(in EM) or to other alerting channels and bulk operations for fault management. With this fault
recovery management, it can automatically disable adapters and re-process faults in a controlled
way.
It is automatically installed as part of SOA Suite, Service Bus, and MFT. Deployment is optional
in SOA Suite and Service Bus but required in MFT. This means that there is no separate license
required to use ESS. It is a part of the same SOA Suite License. One thing to take into account
is that ESS only supports weblogic and Oracle DB in 12c. ESS can be deployed to SOA/Service
Bus cluster or a separate cluster in domain using the domain configuration wizard.
In Oracle SOA Suite 12c, a graphical tool is provided to publish, search, and consume files from
MDS (Meta-Data Store). Point to note here is that one can publish the files to MDS Design Time
Repository from JDeveloper itself.
In earlier versions like SOA 11g, to add the file to design time repository, we manually need to
transfer the file to file system, run some commands, and then make some changes in the code
to refer to the MDS file. But, with the advent of SOA Suite 12c, all this has become graphical. It is
very simple to publish the file to design time repository by right clicking on the file; this changes
the required references in the code automatically.
Sensors are a known feature of the SOA Suite 11g. It is used to mark a variable or data field to
be traced at run time. So, at run time, one can see the values of this field or variable for a
running instance, but also one can search for running instances (e.g., find the running instance
of which the field order id has a value AB12345).
In SOA Suite 11g, these sensors had to be defined at design time. In the SOA Suite 12c, it is
also possible to define or change them at run time: Design Time at Run Time (DT@RT). This
functionality is added to the existing SOA Composer application, which is already used to
change other run time metrics like the Rule Engine and Domain Values Maps (DVMs).
In SOA Suite 11g, Fault Policies were added so that one could easily intervene when a
SOAP/BPEL fault was thrown. But one could only create them in source mode; there was no
graphical editor.
In SOA Suite 12c, Oracle has added this long awaited request. With the Fault Policy Editor, one
can now design and edit Fault Policies. Besides, in the already existing functionality, a lot of new
features are added.
GraphicaleditorforcreatingFaultpolicies,Alerts,Actions,andPropertySets.
NewDefaultactionsforinvokingaWSandenqueuedata(JMS).
AlertscanbedefinedtosendfaulttoJMS,Email,orLogfile.
AlertscanbeassignedtoactionsiftypeofAlertisdesiredtobetriggered.
FaultPoliciescanbecoupled,usingtheCompositeBindingdialog,todifferentlevels:
Composite
Component
Referencebindingand
Servicebinding
12c Composite: Fault Policy Editor
Conclusion
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 industrys most complete
and unified application integration and SOA solution, meets this challenge. With simplified cloud,
mobile, and on-premises 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 and its associated products, Oracle MFT, Oracle Cloud and Application
Adapters, B2B, and health care integration, offer the industrys most highly integrated platform
for solving the rapidly increasing challenges of integrating with cloud applications, mobile
applications, and the Internet of Things. Rather than introducing new toolsets for each new
integration challenge, Oracle SOA Suite 12c expands on the proven principles, practices, and
tools of on-premise application integration to embrace this new world. Enterprises that choose
Oracle SOA Suite 12c to connect with SaaS providers, business partners, and the explosion of
new automated sensors, will avoid the accidental architecture of separate proprietary silos
and will deliver business-critical solutions faster, with less effort, and with greatly reduced long-
term maintenance costs.
Appendix A: Acronyms
Acronym Definition
SOA Service Oriented Architecture
B2B Business-to-Business
Appendix B: References
http://www.oracle.com/technetwork/middleware/soasuite/overview/wp-soa-suite-whats-new-12c-
2217186.pdf
http://www.oracle.com/us/products/middleware/soa/oracle-soa-suite-ds-066430.pdf
https://docs.oracle.com/middleware/1213/soasuite/index.html
http://www.oracle.com/technetwork/middleware/soasuite/downloads/index.html