What is Soa BPEL ?
Learn advanced BPEL concepts and best practices for development, deployment, and administration from the architects implementing them in real-world applications.
Service-Oriented Architecture (SOA) is creating a lot of buzz across the IT industry. Propelled by standards-based technologies like XML, Web Services, and SOAP, SOA is quickly moving from pilot projects to mainstream applications critical to business operations.
One of the key standard accelerating the adoption of SOA is Business Process Execution Language (BPEL) for Web Services. BPEL enables organizations to automate their business processes by orchestrating services. It forces organizations to think in terms of services: Existing functionality is exposed as services. New applications are composed using services. Services are reused across different applications. Services everywhere!
In this cookbook, 10 SOA practitioners share their SOA best practices and provide practical viewpoint to tackle many of the common problems SOA promises to solve. It's organized into three sections: "Service Oriented Integration," "Building Modern Applications," and "SOA Techniques." Sections 1 and 2 will "inspire" you to take the plunge into the world of services and test-drive SOA yourself; Section 3 will "equip" you with best-practice techniques for building a better SOA application.
1) What is
the difference between 10g and 11g?
Ans)
SCA
architecture was followed in 11g and not in 10g
In 11g you
can put all your project SOA components in composite.xml file and deploy to
single server, where in 10g you have to deploy each component to the respective
server(i.e ESB to ESB server, BPEL to BPEL Server)
Ans)
i)
Basically all the SOA components
like BPEL, ESB (Called Mediator in 11g), & OWSM are brought into one place
in 11g using SCA composite concept.
ii) The major difference between 10g & 11g would be the app
server container. 10g by default runs on OC4J
while 11g runs on Weblogic Server.
iii) In 10g every BPEL is a separate project, but in 11g several
components can make 1 project as SCA.
iv) In 10g consoles are separate for BPEL and ESB, but in 11g
Enterprise Manager contains all.
v) In 10g we have to deploy each project separately, but in 11g
we can deploy SCA which contains all.
vi) In 10g BAM and business rules are outside SOA Suite, but in
11g they are in SOA Suite.
2)
What
is the difference between ESB and OSB?
OSB works just as well as ESB with XSL, although I prefer to
use JDev to create the XSL.
OSB has support for load balancing across endpoints.
OSB does a much better job of virtualising components such
as WSDL, XSL, XSD, making it easy to share them across multiple services.
3)
What is SOA?
Ans)
Service Oriented Architecture (SOA)
is used to develop Enterprise applications by using a collection of services
which communicates each other. Service-Oriented Architecture (SOA) is a set of
principles and methodologies for designing and developing software in the form
of interoperable services.
4)
Principles
of SOA?
Ans)
a. loose coupling
b. Re-usability
c. Interoperability
d. Flexible
5) Is
Oracle SOA same as Oracle Fusion Middleware?
Ans)
No because SOA is one of the
part in Fusion middleware and
SOA behaves like user interface
where as Fusion is big platform
6) Explain SOA
architecture?
7)
What is SCA?
Ans)
Service Component Architecture (SCA)
provides a programming model for building applications and systems based on a
Service Oriented Architecture. SCA is a model that aims to encompass a wide
range of technologies for service components and for the access methods which
are used to connect them.
8) What is SOA
Governance?
A)
It means that SOA is a Service Oriented Architecture, for building
business applications as a set of loosely coupling components integrated with
business services. SOA is an open standard and technology based that means open standard is XML based
protocol including WSDL and web service based Architecture. SOA Governance has some activities,
components and services…etc.
SOA
REGISTRY, SOA POLICY, SOA TESTING
9)
What is Web service?
Ans)
Web services are application
components, which are self-contained and self-describing and provide services
based on the open protocol communication (i.e SOAP UI, HTTP over the net).
10) Difference
between BPEL
and Mediator?
Complex Logic
|
Less Complex Logic
|
Good Support language in form of
”activities
|
Less support
|
Performance wise very slow
|
Three times faster than BPEL
|
Support of Dehydration and Instance Monitoring
|
) No support of de hydration
|
For Long Running process BPEL is the
Right Solution
|
For Long Running process not a
proper solution
|
To implement the contolled Transactions Integration of Rules Engine and
Human Workflow
|
) You can not control the
transactions in Mediator
|
To implement the service
virtualization BPEL is not the right approach
Mediator
|
Mediator is the right approach for
the service virtualization
|
11) MEDIATOR
Ans)
The Mediator is in
charge of interconnecting, within an SOA composite application,
components that expose different interfaces. In addition, the Mediator can
perform duties such as filtering and making routing decisions.
The
composite editor in JDeveloper gives you the flexibility to define the interface
now, to choose an existing interface, or to define the interface later as you
wire components to the Mediator.
Transforming data from one representation
to another is, along with routing, one of the key functions of the Mediator.
12) Difference between ESB and Mediator?
Ans)
In
10g for routing, separate router need to keep along with ESB for routing and
filter expressions
whereas
in 11g mediator contains routing rules and filter expressions itself.
13) Difference between OSB and BPEL?
osb
The large, powerful service bus
|
|
Extended functionality important for enterprise-wide Integration, like
|
|
Message Throttling , Service Pooling, Reliable Messaging
|
|
OSB
specific deployment
|
|
Not
yet integrated with SCA
|
|
Development through Eclipse IDE or Web Console
|
|
Message Transformation over XQuery and XSLT
|
|
14) What all
activities we have in Mediator?
·
Content-Based and
Header-Based Routing
·
Synchronous and
Asynchronous Interactions
·
Sequential and Parallel Routing
of Messages
·
Transformations
·
Validations
·
Java Callout
·
Event Handling
·
Dynamic Routing
·
Error Handling
·
Multiple Part Message
Support .Mediator Echo Support
15) What is
the use of Mediator?
Mediator is used for Transformation
and Routing.
Routing------------------Static
routing and Dynamic Routing
Static----------------Serviced Based
& Event Based
Dynamic------------Business Rules
16) How to
configure routing rules in mediator?
17) What is
the purpose of Business Rules?
18) How to
configure rules in Business Rules component?
19) What is
Human Task and how to configure it?
20) What is
the use of OSB?
21) What is
the use of BAM?
22) How to
configure BAM?
23) What is service virtualization?
Service virtualization provides
companies with the ability to create virtual services that offer a stable
interface (location, transport, standards, policies, messages) even when the
physical service changes. Virtualization
offers high-availability and load-balancing, performance and SLA monitoring and
management, routing, versioning, and mediation capabilities to mitigate the
impact of change at the provider on service consumers.
Mediator is used for Transformation
and Routing.
Routing------------------Static
routing and Dynamic Routing
Static----------------Serviced Based
& Event Based
Dynamic------------Business Rules
24) What is
the use of WSDL or what is contract in web services?
Ans)
WSDL (Web Services Description
Language) is an XML-based language for describing Web services and how to
access them.
25) Elements or parts of WSDL?
And describe each of them?
Element Defines
<types> The data types used by the web service
<message> The messages used by the web service operations.
<portType> The operations performed by the web service
<binding> The communication protocols used by the web service
<Service> Defines the location of the service( specifies End
point URL)
26) Difference between Abstract
WSDL and Concrete WSDL?
Ans)
Abstract
WSDL specifies the definition of the web
service, it does not contain the service element.
Concrete
WSDL contains both definition and
location of the service. i.e concrete WSDL specifies the end point URL.
27) What are
the operations in WSDL?
28) Can a WSDL contain multiple bindings?
Yes, in each <binding> element we can specify specific
communication protocols.
29) Diff
between BPEL and ESB?
Ans)
BPEL
|
ESB
|
BPEL is Heavy weight
product
|
Light weight product
|
Its performance is slower
|
Performance speed is faster
|
process centric BPEL is
right choice
|
Data centric ESB is right
choice.
|
Very good for orchestration
|
Only routing
transformations are possible.
|
BPEL has extra features
like Business rules, Human
Workflow,Notifications.
|
only ESB available if running on a non-Weblogic server
|
·
ESB
is good for routing messages to multiple destinations. It is also good for
doing transformations that have little to no business rules. The footprint is
much smaller and incurs minimal overhead therefore the performance is much
better.
BPEL is used for bringing together
multiple services. There is much more functionality and allows implementation
of complex business logic.
·
Exception
handling can be done in BPEL.
·
ESB
does not have the Sensors which can be used to monitor the activities that can
send actions to Business Activity Monitoring (BAM) or database/jms.
·
Primarily
BPEL is used for Orchestration, data enrichment and also for Human interaction
whereas ESB is used for Store and forward transport of data.
30) Benefits
of ESB?
31) How to
increase performance in BPEL (DB Adapter/file adapter)
Ans) For getting better performance
we use
performance tuning.
Performance
tuning is based on BPEL LEVEL ,Server level and Application level.
If we put check point in the BPEL process level
then the performance of application will decrease or the process of the speed
reduces.(check point means it stops the next incoming messages until the timer
gets expired.)
32) When
do we use ESB over BPEL?
Ans) When large amount of data is
transformed we use ESB.
Dynamic Transformations can
be done by ESB than BPEL
ESB helps to increase
flexibility ,reusability and over all responsibilities.
33) How
can we make routing in ESB dynamic?
Ans) ESB provides standard
based data mapper to map the different applications data models.
In Esb routing service
contains transformations , filtering options.
Using this ESB services we
can create routings dynamically.
In Esb High transformations
& mappings are very high.ESB over view.
34) Describe about the SOAP?
Ans)
Soap is a
simple xml based protocol to exchange the information b/w application over http
35) What is Structure of SOAP message?
Ans)
Soap can
carry the data from source to destination and
it is a
simple xml based protocol to exchange the information b/w application over http
SOAP message is an ordinary
xml document containing
An envelope element identifies the xml document as a soap message
A header element contains header information
A
body element
contains call and response information
A fault element contains error and status information
The element contains actual
soap message intended for the ultimate end point of message
36) What is
SOAP? Uses of SOAP?
Ans)
SOAP (Simple Object Access protocol)
is a communication protocol for exchanging the messages between applications.
Uses:
SOAP is platform independent and language independent
SOAP is based on XML; hence it allows you to get around
firewalls
SOAP simple and extensible
Skeleton SOAP Message
<? xml version="1.0"?>
<soap:Envelope
xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">
<soap:Header>
...
</soap:Header>
<soap:Body>
...
<soap:Fault>
...
</soap:Fault>
</soap:Body>
</soap:Envelope>
37) Diff between
well formed XML and valid XML?
Ans)
If an XML satisfying all XML syntax
rules then it called well formed XML,
if an XML satisfying both XML rules and XSD definitions then
it called valid XML.
All valid XML’s are well formed xml, but all well-formed XML
may not be valid XML.
38) XML syntax
rules?
Ans)
a. XML Tags are Case Sensitive
b. All XML Elements Must Have a Closing Tag
c. XML Elements Must be Properly Nested
d. XML Documents Must Have a Root Element
e. XML Attribute Values Must be quoted
39) What is XSD?
Ans)
XSD (XML Schema definition) is
used to define the structure of an XML. An XML Schema:
• defines elements that can appear in a xml document
• defines attributes that can appear in a xml document
• defines the order of parent and child elements
• defines data types for elements and attributes
• Defines default and fixed values for elements and
attributes.
40) Explain
XML,XSLT,XSD,WSDL,XQUERY ?
i) XML: Extensible markup
language
XML is mainly used for
storing the data but not showing the data.
XML is self descriptive
language
In XML own tags can be
defined.
XML can be written in 2 types
DTD & XSD
DTD:Data type definition
This describes the structure of the XML document
XSD:XML Schema defintion
This XSD (Schema) is in turn divided in to 2 types.
Well
Formed XML : Well
formed XML (Valid syntax)
Valid
XML : Valid
XML (DTD+well formed XML)
XSD: Extensible schema definition
ii) XSLT: Extensible markup
Language transformations
In this XSLT we
convert one extension to another extension.
iii)
iv) WSDL: Web service
description language.
There are two types of wsdl:
Abstract
wsdl:which
invokes a webservice
Concreate
wsdl: where
design and deployment is done.
WSDl
elements:
Types
Messages
Porttypes
Bindings
Hostname
Partner links
v) XQUERY:Xquery is otherwiseknown as
Xpath which is defined by /
41) What is NameSpace?
Ans)
XML namespaces provide a
simple method for qualifying element and attribute names used in xml, namespace
logically creates a separate room for the element and attribute definitions.
XML Namespaces provide a method to avoid element name conflicts.
42) What is Target
namespace?
Ans)
A target name space in XSD used to
represents all the element and attribute definitions in that current XSD.
43) What is a complex
type element?
Ans)
if an element contains complex
structure like child elements, attributes then it called complex type.
44) Difference between import
and include in namespace?
Ans)
If the importing XSD namespace is
equal to the current target namespace then we have to use include keyword, If
the importing XSD name space is different from the current XSD target namespace
then use IMPORT keyword.
45) How to specify mandatory
and optional elements in XSD? Or how
to specify xml element occurrence in XSD?
Ans)
by using keywords minoccures and
maxoccures , by default minoccures=1 and maxoccures=1 (i.e all fields are
mandatory).
46) How to specify restrictions
in XSD for xml element values?
<xs:restriction base="xs:string">
<xs:pattern
value="[a-z]"/>
</xs:restriction>
<xs:restriction base="xs:string">
<xs:length
value="8"/>
</xs:restriction>
47) What is End point URL,
or End point location?
48) What is UDDI?
When we use it?
Ans)
UDDI (Universal Description,
Discovery and Integration) is a platform-independent framework for describing
services, discovering businesses, and integrating business services by using
the Internet.
49) What are the installation
steps you followed to set up your SOA environment?
Ans)
Step1: Install database
Step2:
Install RCU
Step3:
install JDeveloper (Studio version which comes with inbuild weblogic server)
Step4:
Install SOA platform
Step5:
configure domain
50) What is the use of RCU?
Ans)
RCU (Repository Creation
Utility) will configure all the required schemas for SOA server in to the
specified databse (Ex schema’s: MDS, soa-infra...)