What are the main benefits of SOA ?
- SOA helps create greater alignment between IT and line of business while generating more flexibility - IT flexibility to support greater business flexibility. Your business processes are changing faster and faster and global competition requires the flexibility that SOA can provide.
- SOA can help you get better reuse out of your existing IT investments as well as the new services you’re developing today. SOA makes integration of your IT investments easier by making use of well-defined interfaces between services. SOA also provides an architectural model for integrating business partners’, customers’ and suppliers’ services into an enterprise’s business processes. This reduces cost and improves customer satisfaction
- SOA helps create greater alignment between IT and line of business while generating more flexibility - IT flexibility to support greater business flexibility. Your business processes are changing faster and faster and global competition requires the flexibility that SOA can provide.
- SOA can help you get better reuse out of your existing IT investments as well as the new services you’re developing today. SOA makes integration of your IT investments easier by making use of well-defined interfaces between services. SOA also provides an architectural model for integrating business partners’, customers’ and suppliers’ services into an enterprise’s business processes. This reduces cost and improves customer satisfaction
What is a reusable Service?
- It is an autonomous, reusable, discoverable, stateless functionality that has the necessary granularity, and can be part of a composite application or a composite service.
- A reusable service should be identified with a business activity described by the service specifications (design-time contract).
- A service’s constraints, including security, QoS, SLA, usage policies, may be defined by multiple run-time contracts, multiple interfaces (the WSDL for a SOAP Web Service), and multiple implementations (the code).
- A reusable service should be governed at the enterprise level throughout its entire lifecycle, from design-time through run-time. Its reuse should be promoted through a prescriptive process, and that reuse should be measured.
- It is an autonomous, reusable, discoverable, stateless functionality that has the necessary granularity, and can be part of a composite application or a composite service.
- A reusable service should be identified with a business activity described by the service specifications (design-time contract).
- A service’s constraints, including security, QoS, SLA, usage policies, may be defined by multiple run-time contracts, multiple interfaces (the WSDL for a SOAP Web Service), and multiple implementations (the code).
- A reusable service should be governed at the enterprise level throughout its entire lifecycle, from design-time through run-time. Its reuse should be promoted through a prescriptive process, and that reuse should be measured.
Talking about Service identification, which approach between top-down and bottom-up methodologies encourages re-use and mantainance ?
Since the top-down approach is business-driven it can be practical to separate the different concerns of business and IT on different plans, providing a common ground in between. So in most situations it the most appropriate if you want to improve reuse and ROI in the medium/long term. Anyway
Since the top-down approach is business-driven it can be practical to separate the different concerns of business and IT on different plans, providing a common ground in between. So in most situations it the most appropriate if you want to improve reuse and ROI in the medium/long term. Anyway
How can you achieve loose coupling in a soa ?
One strategy for achieving loose coupling is to use the service interface (the WSDL for a SOAP Web Service) to limit this dependency, hiding the service implementation from the consumer. Loose coupling can be addressed by encapsulating the service functionalities in a manner that limits the impact of changes to the implementation on the service interface. However, at some point you will need to change the interface and manage versioning without impacting service consumers, in addition to managing multiple security constraints, multiple transports, and other considerations
One strategy for achieving loose coupling is to use the service interface (the WSDL for a SOAP Web Service) to limit this dependency, hiding the service implementation from the consumer. Loose coupling can be addressed by encapsulating the service functionalities in a manner that limits the impact of changes to the implementation on the service interface. However, at some point you will need to change the interface and manage versioning without impacting service consumers, in addition to managing multiple security constraints, multiple transports, and other considerations
Do you recall any pattern which could be used to leverage loose coupling ?
The Mediation pattern, using an enterprise service bus (ESB), will help in achieving this.
Mediation will take loose coupling to the highest level. It will establish independence between consumers and providers on all levels, including message formats, message types (including SOAP, REST, XML, binary) and transport protocols (including HTTP, HTTPS, JMS).
Architecturally speaking this means the separation of concerns between consumers and providers on the transport, message type, and message format levels.
The Mediation pattern, using an enterprise service bus (ESB), will help in achieving this.
Mediation will take loose coupling to the highest level. It will establish independence between consumers and providers on all levels, including message formats, message types (including SOAP, REST, XML, binary) and transport protocols (including HTTP, HTTPS, JMS).
Architecturally speaking this means the separation of concerns between consumers and providers on the transport, message type, and message format levels.
The Service of a SOA should be engineered as stateless or stateful ?
Service should be stateless. It may have a context within its stateless execution, but it will not have an intermediary state waiting for an event or a call-back. The retention of state-related data must not extend beyond a request/response on a service. This is because state management consumes a lot of resources, and this can affect the scalability and availability that are required for a reusable service.
Service should be stateless. It may have a context within its stateless execution, but it will not have an intermediary state waiting for an event or a call-back. The retention of state-related data must not extend beyond a request/response on a service. This is because state management consumes a lot of resources, and this can affect the scalability and availability that are required for a reusable service.
What is composition of a Service ?
Composition is the process by which services are combined to produce composite applications or composite services. A composite application consists of the aggregation of services to produce an enterprise portal or enterprise process. A composite service consists of an aggregation of services that produces another reusable service. It’s just like combining electronic components to create a computer motherboard, and then using that motherboard in a computer. Think of the motherboard as a reusable composite service that is a component of the computer, and of the computer as the composite application.
Composition is the process by which services are combined to produce composite applications or composite services. A composite application consists of the aggregation of services to produce an enterprise portal or enterprise process. A composite service consists of an aggregation of services that produces another reusable service. It’s just like combining electronic components to create a computer motherboard, and then using that motherboard in a computer. Think of the motherboard as a reusable composite service that is a component of the computer, and of the computer as the composite application.
How do I integrate my Legacy applications with SOA ?
Legacy applications are frequently at the core of your IT environment. With the right skills and tools, you need to identify discrete elements within your legacy applications and “wrap” them in standards-based interfaces and use them as services within your SOA.
How does the ESB fits in this picture ?
The Enterprise Service Bus is a core element of any SOA. ESBs provide the “any to any” connectivity between services within your own company, and beyond your business to connect to your trading partners. But SOA does not stop at just implementing an ESB. Depending on what your goals are, you may want to use an ESB to connect other services within your SOA such as information services, interaction services and business process management services. Additionally, you will need to consider development services and IT service management services. The SOA reference architecture can help you lay out an SOA environment that meets your needs and priorities. The ESB is part of this reference architecture and provides the backbone of an SOA but it should not be considered an SOA by itself.
What are the common pitfalls of SOA ?
One of the most common pitfalls is to view SOA as an end, rather than a means to an end. Developers who focus on building an SOA solution rather than solving a specific business problem are more likely to create complex, unmanageable, and unnecessary interconnections between IT resources.
Another common pitfall is to try to solve multiple problems at once, rather than solving small pieces of the problem. Taking a top-down approach—starting with major organization-wide infrastructure investments—often fails either to show results in a relevant timeframe or to offer a compelling return on investment.
One of the most common pitfalls is to view SOA as an end, rather than a means to an end. Developers who focus on building an SOA solution rather than solving a specific business problem are more likely to create complex, unmanageable, and unnecessary interconnections between IT resources.
Another common pitfall is to try to solve multiple problems at once, rather than solving small pieces of the problem. Taking a top-down approach—starting with major organization-wide infrastructure investments—often fails either to show results in a relevant timeframe or to offer a compelling return on investment.
What’s the difference between services and components?
Services are logical grouping of components to achieve business functionality. Components are implementation approaches to make a service. The components can be in JAVA, C#, C++ but the services will be exposed in a general format like Web Services.
What are ends, contract, address, and bindings?
These three terminologies on which SOA service stands. Every service must expose one or more ends by which the service can be available to the client. End consists of three important things where, what and how:-
- Contract is an agreement between two or more parties. It defines the protocol how client should communicate with your service. Technically, it describes parameters and return values for a method.
- An Address indicates where we can find this service. Address is a URL, which points to the location of the service.
- Bindings determine how this end can be accessed. It determines how communications is done. For instance, you expose your service, which can be accessed using SOAP over HTTP or BINARY over TCP. So for each of these communications medium two bindings will be created.
Below figure, show the three main components of end. You can see the stock ticker is the service class, which has an end hosted on www.soa.com with HTTP and TCP binding support and using Stock Ticker interface type.
These three terminologies on which SOA service stands. Every service must expose one or more ends by which the service can be available to the client. End consists of three important things where, what and how:-
- Contract is an agreement between two or more parties. It defines the protocol how client should communicate with your service. Technically, it describes parameters and return values for a method.
- An Address indicates where we can find this service. Address is a URL, which points to the location of the service.
- Bindings determine how this end can be accessed. It determines how communications is done. For instance, you expose your service, which can be accessed using SOAP over HTTP or BINARY over TCP. So for each of these communications medium two bindings will be created.
The concept of SOA is nothing new, however why everyone started to talk about SOA only in the last years ?
Yes I agree the basic concept of SOA aren’t new, however some technology technology changes in the last 10 years made service-oriented architecture more practical and applicable to more organizations than it was previously. Among this:
- Universally-accepted industry standards such as XML, its many variants, and Web-services standards have contributed to the renewed interest in SOA.
- Data governance frameworks, which are important to a successful SOA implementation, have well test and refined over the years.
- A variety of enabling technologies and tools (e.g., modeling, development, infrastructure/middleware, management, and testing) have matured.
- Understanding of business and business strategies has grown, shifting attention from technology to the people, cultural changes, and process that are key business success factors.
Yes I agree the basic concept of SOA aren’t new, however some technology technology changes in the last 10 years made service-oriented architecture more practical and applicable to more organizations than it was previously. Among this:
- Universally-accepted industry standards such as XML, its many variants, and Web-services standards have contributed to the renewed interest in SOA.
- Data governance frameworks, which are important to a successful SOA implementation, have well test and refined over the years.
- A variety of enabling technologies and tools (e.g., modeling, development, infrastructure/middleware, management, and testing) have matured.
- Understanding of business and business strategies has grown, shifting attention from technology to the people, cultural changes, and process that are key business success factors.
What is the most important skill you need to adopt SOA ? technical or cultural ?
Surely cultural. SOA does require people to think of business and technology differently. Instead of thinking of technology first (e.g., If we implement this system, what kinds of things can we do with it?), practitioners must first think in terms of business functions, or services (e.g., My company does these business functions, so how can I set up my IT system to do those things for me most efficiently?).It is expected that adoption of SOA will change business IT departments, creating service-oriented (instead of technology-oriented) IT organizations.
Is SOA really needed on your opinion?
SOA is not for everyone. While SOA delivers significant benefits and cost savings, SOA does require disciplined enforcement of centralized governance principals to be successful. For some organizations, the cost of developing and enforcing these principals may be higher than the benefits realized, and therefore not a sound initiative.
Question : What is Web service?
Answer :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).
Question : What is SCA?
Answer :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.
Question : What is SOA?
Answer :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.
Question : What are principles of SOA?
Answer :• loose coupling
• Re-usability
• Interoperability
• Flexible
• Re-usability
• Interoperability
• Flexible
Question : What is Mediator?
Answer :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 ....
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 ....
Question : What is the difference between Oracle
SOA 10g and 11g?
Answer :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)
• Basically all the SOA components like BPEL, ESB (Called Mediator in 11g), & OWSM are brought into one place in 11g using SCA composite concept.
• The major difference between 10g & 11g would be the app server container. 10g by default runs onOC4J while 11g runs on Web logic Server.
• In 10g every BPEL is a separate project, but in 11g several components can make 1 project as SCA.
• In 10g consoles are separate for BPEL and ESB, but in 11g Enterprise Manager contains all.
• In 10g we have to deploy each project separately, but in 11g we can deploy SCA which contains all.
• In 10g BAM and business rules are outside SOA Suite, but in 11g they are in SOA Suite.
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)
• Basically all the SOA components like BPEL, ESB (Called Mediator in 11g), & OWSM are brought into one place in 11g using SCA composite concept.
• The major difference between 10g & 11g would be the app server container. 10g by default runs onOC4J while 11g runs on Web logic Server.
• In 10g every BPEL is a separate project, but in 11g several components can make 1 project as SCA.
• In 10g consoles are separate for BPEL and ESB, but in 11g Enterprise Manager contains all.
• In 10g we have to deploy each project separately, but in 11g we can deploy SCA which contains all.
• In 10g BAM and business rules are outside SOA Suite, but in 11g they are in SOA Suite.
Question : What is BPEL?
Answer :Within
the enterprise, BPEL is used to standardize enterprise application integration
as well as to extend the integration to previously isolated systems. Between
enterprises, BPEL enables easier and more effective integration with business
partners. BPEL stimulates enterprises to further define their business
processes, which in turn leads to business process optimization, reengineering,
and the selection of the most appropriate processes, thus further optimizing
the organization. Definitions of business processes described in BPEL do not affect
existing systems, thereby stimulating upgrades. BPEL is the key technology in
environments where functionalities are already or will be exposed via Web
services. With increases in the use of Web services, the importance of BPEL
will increase as well.
Question : What is BPEL Process in SOA ?
Answer :(Business
Process Execution Language) BPEL Process is a language used for the
composition, orchestration and coordination of webservics.
Enterprise Information system can improve the efficiency of businesses through the automation of business processes. The objective of almost every company is that the application it uses should provide comprehensive support for business processes. It means that applications should align with business processes closely.
BPEL improves and extends the flexibility of earlier integration methods and distributed architectures, and focuses on the reusability of existing applications and system, efficient interoperability’s and application integrations and the composition of business processes out of services provided by applications. Another important objective of SOA is also the ability to apply changes in the future in a relatively easy and straightforward way.
BPEL is the one of the most popular, commonly accepted specialized language for business process, BPEL is a special language, designed to execute business processes using a special server. BPEL process provide good environment where business processes can be developed in an easy and efficient manner, directly executed, monitored and quickly adapted to the changing needs of enterprises without too much effort.
Question : What is/was the motivation behind
BPEL? How does it differ from other/past attempts/technologies aimed at the
integration/business process problem? Can you talk briefly about the evolution
of BPEL?
Answer :Orchestrating
a set of services into an end-to-end process flow entails a new set of
technical requirements (binding to heterogeneous system, synchronous and
asynchronous message exchange patterns, data manipulation, flow coordination,
exception management, undeterministic events, compensating transactions,
side-by-side versioning, in-flight instance management and auditing). The goal
of BPEL is provide a richer and yet simpler abstraction/standard for addressing
those requirements. Although it is a fairly new standard, it leverages from 10+
years of research and development Microsoft and IBM invested in XLANG and WSFL.
Question : What is
orchestration? What does it mean to build composite applications? Why would
anyone want to?
Answer :Existing
systems are not going away. Yet enterprises need to build new applications that
can leverage the functionality encapsulated in those existing systems. The
notion of a composite application is based around the idea of building new
applications by wiring together existing building blocks. Orchestration plays
an important role in this picture because it is the glue that coordinates the execution
of each discrete service. A good orchestration server needs to be reliable,
scalable and render the BPEL process logic with very high fidelity.
Question : Explain
Orchestration and Choreography.
Answer :In
orchestration, which is usually used in private business processes, a central
process (which can be another Web service) takes control of the involved Web
services and coordinates the execution of different operations on the Web
services involved in the operation. The involved Web services do not
"know" (and do not need to know) that they are involved in a
composition process and that they are taking part in a higher-level business
process. Only the central coordinator of the orchestration is aware of this
goal, so the orchestration is centralized with explicit definitions of
operations and the order of invocation of Web services.
Choreography, in contrast, does not rely on a central coordinator. Rather, each Web service involved in the choreography knows exactly when to execute its operations and with whom to interact. Choreography is a collaborative effort focusing on the exchange of messages in public business processes. All participants in the choreography need to be aware of the business process, operations to execute, messages to exchange, and the timing of message exchanges.
Choreography, in contrast, does not rely on a central coordinator. Rather, each Web service involved in the choreography knows exactly when to execute its operations and with whom to interact. Choreography is a collaborative effort focusing on the exchange of messages in public business processes. All participants in the choreography need to be aware of the business process, operations to execute, messages to exchange, and the timing of message exchanges.
Question : What are two
configuration settings for auditing?
Answer :
auditLevel:
• off - absolutely no logging performed whatsoever; may result in a slight performance boost for processing instances.
• minimal - all events are logged; however, no audit details are logged.
• production - all events are logged. The audit details for assign activities are not logged; the details for all other nodes are logged.
• development - all events are logged; all audit details for all activities are logged.
auditDetailThreshold:
The maximum size (in bytes) an audit trail details string can be before it is stored separately from the audit trail. If a details string is larger than the threshold it will not be immediately loaded when the audit trail is initially retrieved; a link will be displayed with the size of the details string. Typically, the details string will contain the contents of a BPEL variable. In cases where the variable is very large performance may be severely impacted by logging it to the audit trail. The default value is 50 kilobytes
auditLevel:
• off - absolutely no logging performed whatsoever; may result in a slight performance boost for processing instances.
• minimal - all events are logged; however, no audit details are logged.
• production - all events are logged. The audit details for assign activities are not logged; the details for all other nodes are logged.
• development - all events are logged; all audit details for all activities are logged.
auditDetailThreshold:
The maximum size (in bytes) an audit trail details string can be before it is stored separately from the audit trail. If a details string is larger than the threshold it will not be immediately loaded when the audit trail is initially retrieved; a link will be displayed with the size of the details string. Typically, the details string will contain the contents of a BPEL variable. In cases where the variable is very large performance may be severely impacted by logging it to the audit trail. The default value is 50 kilobytes
Question : How many tables
are used for mediator instance tracking?
Answer :There
are in total 5 tables which are used by mediator instance tracking:
• Mediator_instance - One row for each mediator message flow.
• Mediator_case_instance - One row for each mediator case (~ routing rule).
If a mediator component has two routing rules then this should have 2 records for that mediator instance.
• Mediator_case_detail - Captures mediator audit trail for each mediator routing rule. Number of records may vary based on the nature of mediator component.
Eg: if mediator component is having a async req-resp routing rule then this would contain 2 rows for the corresponding mediator routing rule.
• Mediator_document - Stores the payload for routing rules which are configured as deferred (~ parallel in jdev). So if all the routing rules are "sequential" then this will not contain any records.
• Mediator_audit_document - Stores the payload for audit trail and only when "instanceTrackingLevel" for mediator is "Complete".
• Mediator_instance - One row for each mediator message flow.
• Mediator_case_instance - One row for each mediator case (~ routing rule).
If a mediator component has two routing rules then this should have 2 records for that mediator instance.
• Mediator_case_detail - Captures mediator audit trail for each mediator routing rule. Number of records may vary based on the nature of mediator component.
Eg: if mediator component is having a async req-resp routing rule then this would contain 2 rows for the corresponding mediator routing rule.
• Mediator_document - Stores the payload for routing rules which are configured as deferred (~ parallel in jdev). So if all the routing rules are "sequential" then this will not contain any records.
• Mediator_audit_document - Stores the payload for audit trail and only when "instanceTrackingLevel" for mediator is "Complete".
Question : How can we handle
faults in BPEL?
Answer :When a
fault occurs within a business process, the process may not complete
successfully. (But it can complete successfully if the fault is handled within
a scope, which enables you to divide a complex process into several parts; more
on scopes later.) The business process can handle the fault through one or more
fault handlers. Within a fault handler, the business process defines custom
activities that should recover from the fault and possibly reverse the partial
(unsuccessful) work of the activity where the fault has occurred.
Question : What is Scopes in BPEL? How can it be
useful in handling faults?
Answer :Scopes
are hierarchically organized parts into which a complex business process can be
divided. They provide behavioral contexts for activities. In other words,
scopes enable you to define different fault handlers for different activities
(or sets of activities gathered under a common structured activity such as or ).
In addition to defining fault handlers, you can declare variables that are
visible only within a scope. Scopes also let you define local correlation sets,
compensation handlers, and event handlers.
Question : What are two types
of Events supported by BPEL?
Answer :Although
fault handlers and scopes improve the robustness of BPEL processes
considerably, you can also manage events. BPEL supports two types of events:
1. Message events are triggered by incoming messages through operation invocation on port types.
2. Alarm events are time-related and are triggered either after certain duration or at a specific time.
1. Message events are triggered by incoming messages through operation invocation on port types.
2. Alarm events are time-related and are triggered either after certain duration or at a specific time.
Question : Explain the use of
Message Event and Alarm Events?
Answer :Managing
message events is particularly important when the business process is waiting
for callbacks from partner Web services. activity,
lets you wait for only a single (exactly specified) message on a port type.
Often, however, it is more useful to wait for more than one message, of which
only one will occur.
Alarm events are useful when you want the process to wait for a callback for a certain period of time, such as 15 minutes. If no callback is received, the process flow continues as designed. This approach is particularly useful in loosely coupled service-oriented architectures, where you cannot rely on Web services being available all the time. This way, the process flow can proceed even if one of the bookstores does not return an offer.
Alarm events are useful when you want the process to wait for a callback for a certain period of time, such as 15 minutes. If no callback is received, the process flow continues as designed. This approach is particularly useful in loosely coupled service-oriented architectures, where you cannot rely on Web services being available all the time. This way, the process flow can proceed even if one of the bookstores does not return an offer.
Question : Explain “Pick” activity of BPEL.
Answer :BPEL
provides the activity, through
which you can specify that the business process should await the occurrence of
one event in a set of events. Events can be message events handled with the activity or alarm events handled with
the activity. For each event, you
specify an activity or a set of activities that should be performed.
Question : How can we use Pick as Initial
activity?
Answer :You can
use the activity instead of the
initial activity. You can specify
several operations, and receiving one of these messages will result in the
creation of a business process instance. Then you have to use a special form of
the activity. You specify the
createInstance attribute for the activity,
but you can specify only events; events are not permitted in this
specific form.
Question : What is Use of
assign activity in BPEL?
Answer :You use
the assign activity to copy data from one XML variable to another, or to
calculate the value of an expression and store it in a variable. A copy element
within the activity specifies the source and target of the assignment (what to
copy from and to), which must be of compatible types.
Question : How can you increase performance in
BPEL ?
Answer :We can increase the performance by writing indexes and sequences.
(Or) Go to application server - Configurations - Change Xml file
(Or) Go to application server - Configurations - Change Xml file
Question : What is
orchestration? What does it mean to build composite applications? Why would anyone
want to?
Answer :Existing
systems are not going away. Yet enterprises need to build new applications that
can leverage the functionality encapsulated in those existing systems. The
notion of a composite application is based around the idea of building new
applications by wiring together existing building blocks. Orchestration plays
an important role in this picture because it is the glue that coordinates the
execution of each discrete service. A good orchestration server needs to be
reliable, scalable and render the BPEL process logic with very high fidelity.
Question : What differentiates BPEL Process
Manager from other process integration offerings?
Answer :Four
things:
• Native and comprehensive BPEL support
• Extensible binding framework (which means that you can orchestrate not only Web services but also JCA, JMS, etc)
• Ease-of-use (you can get up and running in less than 15 minutes)
• Cross-platform support (Oracle Application Server but also WebLogic, WebSphere, etc.)
• Native and comprehensive BPEL support
• Extensible binding framework (which means that you can orchestrate not only Web services but also JCA, JMS, etc)
• Ease-of-use (you can get up and running in less than 15 minutes)
• Cross-platform support (Oracle Application Server but also WebLogic, WebSphere, etc.)
Question : What are dspMaxThread and a recieverThread properties? Why are they important?
ReceiverThreads property
specifies the maximum number of MDBs that process aysc across all domains.
Whereas the dspMaxThreads are the maximum number of MDBs that process asy and
threads that operate across a domain.
So, we need to ensure that the
dspMaxThreads value is !>
ReceiverThreads.
Question : Is it possible to use MS
SQL Server as dehydration store with SOA Suite ?if yes how?
Yes it
is possible.
To automatically maintain long-running
asynchronous processes and their current state information in a database while
they wait for asynchronous callbacks, you use a database as a dehydration
store.Storing the process in a database preserves the process and prevents any
loss of state or reliability if a system shuts down or a network problem
occurs. This feature increases both BPEL process reliability and scalability.
You can also use it to support clustering and failover.
Question :
What are DVM's and how are they helpful in SOA?
DVM-Domain Value Map are static
mappings between a source and target system which can be used in
transformations. The value can be changed
via SOA composer.
Question : What is the difference between XREF and DVM?
XREF- It is dynamic since the
values to the XREF can be populated dynamically and it is stored in XREF_DATA
table in SOA Dehydration store.
DVM- Domain Value Map is static
mappings between a source and target system which can be used in
transformations.
Question : What
is Dehydration store?
Dehydration store is the
database where the instances get stored when it gets dehydrated by the process
on the occurrence of non-idempotent activities and also stores the information
on the long running processes.
Question :
What is MDS?
MDS –Metadata Store, Wsdl and
Schemas to be used in the process can be published to the MDS and get it used
in the code by referring the artifacts from the MDS
Advantages: JAR (Deployment unit) size will be reduced.
Duplication of the artifacts can be avoided between
the services.
Question : What
is a XA datasource? How it differs from a non-XA datasource?
An XA transaction involves a coordinating
transaction manager, with one or more databases (or other resources, like JMS)
all involved in a single global transaction. Non-XA transactions have no
transaction coordinator, and a single resource is doing all its transaction
work itself (this is sometimes called local transactions).
Question : How
can we secure our web services using Oracle SOA Suite?
When accessing the services should be restricted
to the group, then service should be secured via WSM (Web service Manager).
Question : How to
deploy an XSL file without deployment of BPEL Process?
We will directly deploy the XSLT, options: -
Using ANT
script by file replacement in TMP folder.
By
creating a folder in BPEL PM installation folder and specifying its location in
our BPEL code with http call and replacing our xslt to that location.
Question: What is HA File and FTP Adapters?
In the clustered environment,File and FTP adapters
should be used as HA(High-Availability)
Inbound:It
is controlled by Control Files and avoids the race between the manages
servers in reading the files where the reference of the files read by the
managed servers will be maintained in
the control directory.
Outbound:It is controlled by DB Mutex table
exist in the SOA dehydration store and
this avoids duplicated been written to the same file when all the managed
servers in the clusters process the same messages.
Question : What
is singleton Property in SOA?
In the clustered environment when the processing
of the message should happen via only one SOA managed server, then the property
singleton needs to be defined at the adapter level.
Question : What
is a flow activity? What is a flowN activity and how does it leverages the flow
activity?
Flow activity is used, when parallel execution of
the flow is needed and to use this property “non-blocking invoke should be set
as true “at the partner link level and no. of execution of parallel flow is
defined and static. Where as in Flown the no. of execution of parallel flow is
not static and it is determined during run time.
Question: What do you mean by non-idempotent activity?
Which all activities are non-idempotent by default?
Activities like Pick, Wait, receive, reply and checkpoint
() are called non-Idempotent activity and during the execution of the process
whenever these activities are encountered then it gets dehydrated to the
dehydration store.
Question: What is
forward delay in JMS Queue?
In the clustered environment where JMS queues are
used, when for the queues in any one of the Managed server doesn’t have the
consumer, once messages reaches the
forward delay time it gets moved to the
other managed server where consumer is present.
Question: What is redelivery limit in JMS Queue?
When the message gets failed to get processed
,then it will be re-tried will the redelivery limit exhausts and once after the
redelivery limit the message can b e either moved to the error Queue are it can
be discarded.
Question: What is timetodeliver in JMS Queue?
When Messages enqueued to the JMS queue, it will
be immediately consumed by the JMS Subscribers, if any delay needs to be
induced for the message consuming by the Subscribers then timetodelivery needs
to set. The JMS message will not be subscribed until timetodelivery exhausts.
Question : Difference
between JMS Queues and Topics?
Queue-Message will be subscribed by one
subscriber.
Topic-Message will be subscribed by more than one
subscriber.
Schemas can be included inside of XML file is called Inline
Schemas.
Question: What is role of Mediator?
Answer: Oracle Mediator provides a lightweight framework to mediate between various components within a composite application. Oracle Mediator converts data to
facilitate communication between different interfaces exposed by different components that are wired to build a SOA composite application.
Question:Difference between Mediator & OSB?
Answer: OSB is all together different tool which is used for integration like SOA but the main purpose of OSB is to route the information and same we can do with
mediator. The main difference two is, we go for Mediator when we want to route information between different components inside composite and go for OSB when we want to
route the information between composites. Mediator is used light weight mediation and OSB is used for heavy weight mediation.
Question: What is echo in Oracle Mediator?
Answer: The purpose of the echo option is to expose all the Oracle Mediator functionality as a callable service without having to route it to any other service. For
example, you can call an Oracle Mediator to perform a transformation, a validation, or an assignment, and then echo the Oracle Mediator back to your application
without routing it anywhere else.
For synchronous operations with a conditional filter, the echo option does not return a response to the caller when the filter condition is set to false. Instead, it
returns a null response.
The echo option is available for asynchronous operations only if the Oracle Mediator interface has a callback operation. In this case, the echo is run on a separate
thread.
Question: What is resequencing in Mediator ?
Answer: The resequencing feature of the Oracle Mediator reorders sets of messages that might arrive to the Oracle Mediator in the wrong sequence. You can define
resequencing for all operations in an Oracle Mediator or for a specific operation.
Question: Resequencing options available in mediator?
Answer:
Standard (based on input Id)
FIFO(based on time)
Best Efforts
Question: What is Schematron Validation?
Answer: Schematron is an XML schema language, and it can be used to validate XML contents in an XML payload.
Question: Types of routing exist in Mediator?
Answer: Static & Dynamic Routing.
Question: What is Dynamic Routing in Mediator ?
Answer: A dynamic routing rule lets you externalize the routing logic to an Oracle Rules Dictionary, which in turn enables dynamic modification of the routing logic in
a routing rule.
When you choose to create dynamic routing rule then it creates a new business rule service component that is wired to the Oracle Mediator service component within the
SOA composite of the Oracle Mediator service component. The business rule service component includes a rule dictionary. The rule dictionary is a metadata container for
the rule engine artifacts, such as fact types, rulesets, rules, decision tables and so on.
Inside routing rules, you need to set endpoint URI.
Question: Types of Static Routing rules?
Answer: Sequential & Parallel.
Question: Difference between Sequential & Parallel static routing rules ?
Answer:
Sequential
parallel
Oracle Mediator evaluates routings and performs the resulting actions sequentially. Sequential routings are evaluated in the same thread and transaction as the caller
Oracle Mediator queues and evaluates routings in parallel in different threads.
The messages of each Oracle Mediator service component are retrieved in a weighted, round-robin fashion to ensure that all Oracle Mediator service
components receive parallel processing cycles. This is true even if one or more Oracle Mediator service components produce a higher number of messages
compared to other components. The weight used is the message priority set when designing an Oracle Mediator service component. Higher numbers of parallel
processing cycles are allocated to the components that have higher message priority.
You can set the Priority field in the Mediator Editor to indicate the priority of an
Oracle Mediator service component. Priorities can range from zero to nine, with
nine being the highest priority. The default priority is four.
Oracle Mediator always enlists itself into the global transaction propagated through the thread that is processing the incoming message. For example, if an
inbound JCA adapter invokes an Oracle Mediator, the Oracle Mediator enlists itself with the transaction that the JCA adapter has initiated.
Oracle Mediator initiates a new transaction for processing each parallel rule. The initiated transaction ends with an enqueue to the Oracle Mediator parallel
message dehydration store.
For example, if an Oracle Mediator service component has one parallel routing rule, one message is enqueued on the Oracle Mediator parallel message dehydration store.
The parallel message dispatcher to the store then initiates a transaction, reads the message from the database store, and invokes the target component or service of
this routing rule. The transaction initiated by the listener thread is a completely new transaction and is propagated to the target components.
Oracle Mediator propagates the transaction through the same thread as the target components while executing the sequential routing rules.
Oracle Mediator never commits or rolls back transactions propagated by external
entities.
Oracle Mediator commits or rolls back transactions because it is the initiator of these transactions.
If an operation or event has both sequential and parallel routing rules, first sequential routing rules are evaluated and actions are performed, and then parallel
routings are queued for parallel execution.
Oracle Mediator manages the transaction only if the thread-invoking Oracle
Mediator does not already have an active transaction. For example, if Oracle
Mediator is invoked from inbound SOAP services, Oracle Mediator starts a
transaction and commits or rolls back the transaction depending on success and
failure.
Question: Which static routing rule support fault policy ?
Answer: Parallel rules only.
Question: What is role of Mediator?
Answer: Oracle Mediator provides a lightweight framework to mediate between various components within a composite application. Oracle Mediator converts data to
facilitate communication between different interfaces exposed by different components that are wired to build a SOA composite application.
Question:Difference between Mediator & OSB?
Answer: OSB is all together different tool which is used for integration like SOA but the main purpose of OSB is to route the information and same we can do with
mediator. The main difference two is, we go for Mediator when we want to route information between different components inside composite and go for OSB when we want to
route the information between composites. Mediator is used light weight mediation and OSB is used for heavy weight mediation.
Question: What is echo in Oracle Mediator?
Answer: The purpose of the echo option is to expose all the Oracle Mediator functionality as a callable service without having to route it to any other service. For
example, you can call an Oracle Mediator to perform a transformation, a validation, or an assignment, and then echo the Oracle Mediator back to your application
without routing it anywhere else.
For synchronous operations with a conditional filter, the echo option does not return a response to the caller when the filter condition is set to false. Instead, it
returns a null response.
The echo option is available for asynchronous operations only if the Oracle Mediator interface has a callback operation. In this case, the echo is run on a separate
thread.
Question: What is resequencing in Mediator ?
Answer: The resequencing feature of the Oracle Mediator reorders sets of messages that might arrive to the Oracle Mediator in the wrong sequence. You can define
resequencing for all operations in an Oracle Mediator or for a specific operation.
Question: Resequencing options available in mediator?
Answer:
Standard (based on input Id)
FIFO(based on time)
Best Efforts
Question: What is Schematron Validation?
Answer: Schematron is an XML schema language, and it can be used to validate XML contents in an XML payload.
Question: Types of routing exist in Mediator?
Answer: Static & Dynamic Routing.
Question: What is Dynamic Routing in Mediator ?
Answer: A dynamic routing rule lets you externalize the routing logic to an Oracle Rules Dictionary, which in turn enables dynamic modification of the routing logic in
a routing rule.
When you choose to create dynamic routing rule then it creates a new business rule service component that is wired to the Oracle Mediator service component within the
SOA composite of the Oracle Mediator service component. The business rule service component includes a rule dictionary. The rule dictionary is a metadata container for
the rule engine artifacts, such as fact types, rulesets, rules, decision tables and so on.
Inside routing rules, you need to set endpoint URI.
Question: Types of Static Routing rules?
Answer: Sequential & Parallel.
Question: Difference between Sequential & Parallel static routing rules ?
Answer:
Sequential
parallel
Oracle Mediator evaluates routings and performs the resulting actions sequentially. Sequential routings are evaluated in the same thread and transaction as the caller
Oracle Mediator queues and evaluates routings in parallel in different threads.
The messages of each Oracle Mediator service component are retrieved in a weighted, round-robin fashion to ensure that all Oracle Mediator service
components receive parallel processing cycles. This is true even if one or more Oracle Mediator service components produce a higher number of messages
compared to other components. The weight used is the message priority set when designing an Oracle Mediator service component. Higher numbers of parallel
processing cycles are allocated to the components that have higher message priority.
You can set the Priority field in the Mediator Editor to indicate the priority of an
Oracle Mediator service component. Priorities can range from zero to nine, with
nine being the highest priority. The default priority is four.
Oracle Mediator always enlists itself into the global transaction propagated through the thread that is processing the incoming message. For example, if an
inbound JCA adapter invokes an Oracle Mediator, the Oracle Mediator enlists itself with the transaction that the JCA adapter has initiated.
Oracle Mediator initiates a new transaction for processing each parallel rule. The initiated transaction ends with an enqueue to the Oracle Mediator parallel
message dehydration store.
For example, if an Oracle Mediator service component has one parallel routing rule, one message is enqueued on the Oracle Mediator parallel message dehydration store.
The parallel message dispatcher to the store then initiates a transaction, reads the message from the database store, and invokes the target component or service of
this routing rule. The transaction initiated by the listener thread is a completely new transaction and is propagated to the target components.
Oracle Mediator propagates the transaction through the same thread as the target components while executing the sequential routing rules.
Oracle Mediator never commits or rolls back transactions propagated by external
entities.
Oracle Mediator commits or rolls back transactions because it is the initiator of these transactions.
If an operation or event has both sequential and parallel routing rules, first sequential routing rules are evaluated and actions are performed, and then parallel
routings are queued for parallel execution.
Oracle Mediator manages the transaction only if the thread-invoking Oracle
Mediator does not already have an active transaction. For example, if Oracle
Mediator is invoked from inbound SOAP services, Oracle Mediator starts a
transaction and commits or rolls back the transaction depending on success and
failure.
Question: Which static routing rule support fault policy ?
Answer: Parallel rules only.
No comments:
Post a Comment