In part I of this blog you read about the numbers of OpenWorld and our activities at OpenWorld and JavaOne. So what about the news? Almost all new products and further development of existing products are centered around the support of multi-tenancy, cloud-based computing, and the processing and analyzing of data and events from the billions of devices connected to the Internet (Internet of Things). Furthermore the traction around User Experience keeps growing.
Some concrete news that showcases this:
Oracle announced its in-memory database feature for 12c. This feature speeds up both OLTP and OLAP by storing and accessing data both in row and column format. Enabling the in-memory option for tables and partitions seems pretty simple based on the keynote demo. The in-memory option is transparent and works out-of-the-box: application code doesn't need to be rewritten, and features such as offered by RAC remain intact. Together with the in-memory database, Larry announced the "Big Memory Machine": a new box called M6-32 with lots of cores and RAM aimed at running in-memory databases. Finally, the Oracle Database Backup Logging Recovery Appliance was launched. An appliance specifically designed for protecting databases.
There was an update on the developments in the Fusion Middleware product stack. Service Bus, SOA Suite, BPM Suite, and so on are enhanced for mobile computing and cloud integration. Among others by providing better support for REST and JSON in SOA Suite, new Cloud Adapters to integrate with 3rd parties such as Salesforce, and using ADF Mobile to build code once and run it one various mobile platforms. WebLogic 12c supports Web Sockets and better integration with the multi-tenant Oracle Database 12c. The BPM Suite is shipped with prepackaged processes (accelerators) that can be used as blueprints for several processes. BPM Suite is also extended to support case management.
Coherence GoldenGate HotCache was presented. When using caching there is always the risk of stale data when data is modified outside the caching layer; e.g. directly in the datasource. A popular caching solution is Coherence. The new Coherence GoldenGate HotCache feature enables you to push data updates from the database to the Coherence layer instead of invalidating the cache and/or periodically pulling the data from the caching layer.
There was also news at JavaOne. Java ME and Java SE are being converged in both terms of language and APIs in JDK 8 and further on. This means that developers can use common tooling, that code compatibility increases, and that only one skillset is needed. This will make it easier for Java developers to create code for the "Internet of Things". Both Java SE 8 and ME 8 are available as Early Access downloads. The JDK 8 is scheduled to be released somewhere in the Spring of 2014. Important new features include Lambda expressions (JSR 335), Nashorn (JavaScript engine), Compact Profiles, Date and Time API (JSR 310), and several security enhancement. Lambda expressions are one of the biggest changes in the history of the Java language making it easier to write clean code and avoid boilerplate.
This summer the Java EE 7 spec has been released. Java EE 7 is aimed at providing better developer productivity and to offer better support for HTML 5 through Web Sockets, JSON support, and REST support. Other new features are batch APIs and support for the new, and simplified JMS standard. GlassFish 4, the reference implementation for Java EE 7, is available for download. Project Avatar has been open-sourced, a JavaScript services layer focused on building data services.
The Tuesday keynote was all about the Cloud. Oracle adds 10 new services to the Oracle Cloud including the Compute Cloud and Documents Cloud. Oracle and Microsoft announced a partnership that makes it possible to run Oracle Databases and Oracle WebLogic Servers on Oracle Linux on the Microsoft Azure platform.
This is only the tip of the iceberg. Visit the OpenWorld site to watch all the keynotes.
Showing posts with label openworld. Show all posts
Showing posts with label openworld. Show all posts
Wednesday, September 25, 2013
Tuesday, September 24, 2013
OpenWorld and JavaOne 2013 so far! - Part I
Let's talk numbers first. This year there are even more attendees than last years, approximately sixty thousand (of which 0,0033% work for Vennster). There are 2.555 sessions (of which 0,078% are presented by Vennster, the numbers are getting better :-). The attendees come from 145 countries and various continents: 69% from North America, 21% from EMEA, 6% from Japan and Asia Pacific, and 4% from South America.
Activities
Friends and family members sometimes think that OpenWorld means sitting in a park with a cocktail while watching the America's Cup and touring the Golden Gate Bridge. In reality our stay at OpenWorld is jam-packed with lots of events besides attending presentations, going to the demogrounds and discuss the latest products and features, and going to the hands-on-labs to keep up to date with all of the latest developments:- ACE Director briefing: 2 days filled with the latest updates by product management at Oracle HQ
- Attending Partner Advisory Councils for SOA & BPM, and WebLogic & Cloud Application Framework (CAF)
- Meeting old friends and new and interesting people at the OTN Lounge and ACE dinner
- Participating in OTN vidcasts and podcasts
- Social day and reception with the SOA, BPM, and WebLogic community and Oracle product management hosted by Jürgen Kress
- Meetups such as the BeNeLux (Belgium, Netherlands and Luxembourg) architects meetup
- Meetings with customers and partners
- Present two sessions on UX design patterns and a live development session for Fusion Middleware
The upcoming blog will talk about some of the exciting news here at OpenWorld and JavaOne.
Monday, September 9, 2013
Oracle OpenWorld 2013 Preview Sessions
It's becoming a tradition, the Oracle OpenWorld preview event hosted by AMIS. An event for those that cannot attend OpenWorld but are interested in the sessions presented by Dutch and Belgium speakers there. Or for those that want to hear the presentations twice of course ;-)
Like previous years, Vennster was present at the preview event with a couple of presentations. For those who visit OpenWorld, I've included the location and time:
The Live Development session is a unique session in which the presenters build and/or demo an application from scratch (depending on the available time and beamers :-) using Oracle Fusion Middleware products such as Oracle SOA Suite, BPM Suite, ADF, and JDeveloper.
The session description says it all:
The slides for this session are available on Slideshare:
Like previous years, Vennster was present at the preview event with a couple of presentations. For those who visit OpenWorld, I've included the location and time:
- [UGF9898] Oracle on Your Browser or Phone: Design Patterns for Web and Mobile Oracle ADF Applications by Lonneke Dikmans and Floyd Teter (Sunday, Sep 22, 9:15 AM - 10:15 AM - Moscone West - 2003), and
- [CON6031] An Oracle ACE Production: Oracle Fusion Middleware Live Development Demo by Lonneke Dikmans, Lucas Jellema, Simon Haslam, and Ronald van Luttikhuizen.
The Live Development session is a unique session in which the presenters build and/or demo an application from scratch (depending on the available time and beamers :-) using Oracle Fusion Middleware products such as Oracle SOA Suite, BPM Suite, ADF, and JDeveloper.
The session description says it all:
"Many articles and presentations discuss various parts of Oracle Fusion Middleware such as Oracle Application Development Framework (Oracle ADF), Oracle SOA Suite, Oracle WebLogic, or Oracle Service Bus. Usually they do so in an isolated fashion. In this very special panel session, attendees will see at close range how it all comes together and what steps are necessary to create an end-to-end Oracle Fusion Middleware application. A team of brave administrators and developers shows how to develop different parts of an end-to-end Oracle Fusion Middleware application. Their work is monitored live while a moderator solicits audience questions. The team consists of Oracle Fusion Middleware specialists from the Oracle ACE Director program."
![]() |
Lonneke, Lucas, and Ronald at work during the Live Development preview session (thanks to Jacco Landlust for the picture) |
The slides for this session are available on Slideshare:
Next was Lonneke with her presentation on mobile and web patterns in ADF. Attend this presentation if you want to know why and how to engage your end-users in the design and development of (enterprise) applications. Learn how the available patterns from the Applications UX program help you build better and more useable applications.
"For those who are building Oracle software for browsers or mobile phones, Oracle provides a rich set of Oracle Application Development Framework (Oracle ADF) design patterns that provide guidance on industry standards for creating rich, usable applications. Come to this session to hear two leading Oracle experts discuss how to make use of these patterns to ensure that you build applications that not only are useful for your users but also make them productive and satisfied."Hope to see you at OpenWorld !
Wednesday, October 10, 2012
Compensation Hello World
There were several questions about compensation after the Effective Fault Handling in SOA Suite 11g session that Guido Schmutz and I presented at Oracle OpenWorld last week. The presentation included a live demo that showed how compensation can be used to undo previously executed actions in processes and services that are implemented in SOA Suite. Based on the questions, this blog explains the concepts of compensation, gives you an overview of the demo, and provides a download link to the JDeveloper demo project so you can play around with the demo yourself.
It is not always possible to use transactions as a means to commit, or rollback related activities as a whole. For example when the invoked services do not support global transactions. Next to this, long running processes execute several (implicit) commits since transactions shouldn't be kept open too long: this degrades performance and causes completed activities to remain invisible to others. Once a commit has been executed, the committed activities cannot be rollbacked. Consider an Order-to-Process in which we book the customer's credit card in advance and deliver the ordered goods a few days later. The process will dehydrate at some point causing a commit on the active transaction. If delivery of the ordered goods fails we cannot rollback the credit card booking.
Compensation provides a mechanism to undo already committed activities by means of invoking opposite activities (i.e. compensation) in reverse order. For example booking the opposite amount of money to the credit card that was initially charged. SOA Suite provides the following activities to support compensation:
After the wait has finished the compensation handler of the Invoke_CreditCardService is executed. Finally, the compensation of the Register_Order scope is executed. Again, by including Wait activities you can inspect the sequence of events in Enterprise Manager.
The flow of events is shown in the following figures:
Concept
Process and service activities can be divided into unit-of-works, called transactions that are either executed (i.e. committed) as a whole or undone as a whole (i.e. rollbacked) due to some error or an explicit rollback command. When the activities within the same unit-of-work span multiple resources (databases, Java components, JMS topics, and so on) these resources all need to support global (XA) transactions and need to enlist in the global transaction, to support commits and rollbacks on the transaction as a whole.It is not always possible to use transactions as a means to commit, or rollback related activities as a whole. For example when the invoked services do not support global transactions. Next to this, long running processes execute several (implicit) commits since transactions shouldn't be kept open too long: this degrades performance and causes completed activities to remain invisible to others. Once a commit has been executed, the committed activities cannot be rollbacked. Consider an Order-to-Process in which we book the customer's credit card in advance and deliver the ordered goods a few days later. The process will dehydrate at some point causing a commit on the active transaction. If delivery of the ordered goods fails we cannot rollback the credit card booking.
Compensation provides a mechanism to undo already committed activities by means of invoking opposite activities (i.e. compensation) in reverse order. For example booking the opposite amount of money to the credit card that was initially charged. SOA Suite provides the following activities to support compensation:
- Compensation handler. Compensation handlers contain the activities that need to be executed as part of the compensation flow. These handlers are defined per scope, similar to catch blocks. Per scope you need decide if you need a compensation handler.
- Compensate activity. The activity that triggers compensation for a SOA Composite. Executing this activity will cause the invocation of compensation handlers for all successfully completed scopes that have defined a handler, and are not yet compensated. Only compensation handlers of scopes that are directly enclosed by the scope that contains the compensate activity will be executed. The handlers are executed in reverse order, so the handler of the last completed scope is executed first.
- Compensate activities can only be executed from catch blocks and compensation handlers.
- Compensation activities either trigger compensation for all enclosed and completed scopes using the compensate activity (supported in BPEL 1.1 and 2.0), or can trigger compensation for one specific scope using the compensateScope activity (only BPEL 2.0).
- Compensation handlers can only be defined on scope level, not on sequence level.
Demo
The demo consists of a SOA composite that implements a simplified Order-to-Cash process. The composite contains a single, asynchronous BPEL component called CompensationExample. After receiving the input message the process executes the following scopes and sequences:- Scope Register_Order. This scope simulates the registration of the new order using an Empty activity called Dummy_Register_Order. The scope defines a compensation handler that simulates an undo activity by updating the order with a new status (e.g. cancelled).
- Scope Invoke_CreditCardService. This scope simulates the registration of the new order using an Empty activity called Dummy_Book_CreditCard. The scope defines a compensation handler that simulates an undo activity by charging the opposite amount to the credit card.
- Sequence Throw_Fault. This sequence is added for demonstration purposes and throws a fault in case "compensate" is passed as input to the SOA composite; otherwise the process will complete normally. The fault is caught by the Catch_All sequence.
- Sequence Catch_All. This sequence includes a Wait activity before triggering compensation using a Compensate activity. The wait enables you to inspect the process instance in Enterprise Manager before the compensation logic is executed. After the compensation is completed, the process will send a callback message to the client indicating a fault occurred for this process instance.
![]() |
Process flow of the Compensation Hello World example |
After the wait has finished the compensation handler of the Invoke_CreditCardService is executed. Finally, the compensation of the Register_Order scope is executed. Again, by including Wait activities you can inspect the sequence of events in Enterprise Manager.
The flow of events is shown in the following figures:
![]() |
Process instance after fault is thrown, but before compensation is triggered |
![]() |
Process instance after compensation is triggered and the compensation handler for the Invoke_CreditCard_Scope is completed. The compensation handler for the Register_Order scope is still active. |
![]() |
Process instance after all compensation handlers have been executed. |
![]() |
Process instance after compensation has finished and the callback message has been send to the client invoking the process. |
Code
You can download the JDeveloper project for the Compensation Hello World example here.Real-life
In real-life projects you wouldn't add Throw activities to your SOA composites to trigger compensation and test your compensation logic. In such cases you can best use the out-of-the-box SOA Suite Test Framework and BPEL Test Framework to simulate errors (e.g. unreachable services) in unit tests to inspect and test the compensation logic of your SOA composites.Wednesday, October 3, 2012
Presentations at OpenWorld 2012
This blog contains a wrap up of our presentations at OpenWorld 2012.
Oracle Fusion Middleware Live Application Development (UGF10464)
In this three hour show moderated by Duncan Mills and Chris Muir, the audience could experience the dynamics between three different teams that are building an application based on Oracle Fusion Middleware:- User Interface in ADF;
- Services in SOA Suite and Oracle Database;
- Business processes in BPM Suite.
Behind the scenes at the presentation |
It's the fourth time Vennster participated in the Live FMW Development sessions after appearances at ODTUG Kaleidoscope, UKOUG, and OBUG. For OpenWorld 2012 the team that prepared the application consisted of Lucas Jellema, Luc Bors, Aino Andriessen, Guido Schmutz, Lonneke Dikmans, and Ronald van Luttikhuizen. This time we tried a different approach in which we pre-built the application and focused on explaining and demoing it in the first part of the session. After that we made several changes and deployed the improved software components.
Some best-practices the team discussed:
- Use Business Rules to allow for runtime modification of fast changing business logic instead of design time modifications and redeployment of services. Encapsulate useful Business Rules as separate services instead of adding them to existing SCA composites.
- Include a heartbeat operation for every Web Service (e.g. by using the Mediator's Echo activity) so you can verify that all technical layers of the Web Service work without triggering a functional side effect.
- Invoke PL/SQL from DB Adapters instead of directly executing CRUD operations for additional decoupling.
- Decouple components and introduce additional reliability and robustness by using events.
Effective fault handling in SOA Suite 11g (CON4832)
In this co-presentation with Guido Schmutz we explored how the out-of-the-box frameworks, patterns, and tools that are available in Oracle Service Bus and Oracle SOA Suite can help you to implement fault prevention and handling capabilities.![]() |
360 view during the Fault Handling presentation |
The session was pretty well attended, and with an extended Q&A sessions at the end. I never had so many questions after a presentation; don't know if that's a compliment or not ;-) Some of the questions raised:
- Wrapping asynchronous message exchanges as synchronous exchanges and vice versa.
- Where to execute long-running and statefull processes: SOA Suite rather than OSB.
- Fault handling in fire-and-forget message exchanges: if there's no callback, implement fault handling in the service that is being called.
- Can the Fault Management Framework of SOA Suite be used to catch internal BPEL faults: use catch activities for that purpose.
- Transaction boundaries, dehydration points, and global transaction timeouts.
- Compensation versus rollbacks.
- Chaining exception policies using the Fault Management Framework.
The slides are available from Slideshare and answer some of these questions. A series of articles is underway that dives deeper into these subjects!
OpenWorld and JavaOne 2012 so far, and we're only halfway!
Not surprisingly the main focus of OpenWorld so far is Cloud and Cloud-related services and products. Oracle is further expanding its Cloud offerings in different areas by means of:
Obviously this focus is not only seen in the big keynotes, but also felt in the various sessions at OpenWorld and JavaOne. For example with the announcement of the new "Pluggable" Oracle 12c Database that is engineered with multi-tenancy in mind. Another example is the excellent presentation that Doug Clarke gave at JavaOne today on the capabilities of EclipseLink. EclipseLink supports different multi-tenancy models: shared or dedicated applications integrating with shared or dedicated databases.
So how about Vennster's involvement in OpenWorld and JavaOne so far this year? Among others, we attended the ACE Director Briefing, participated in the Fusion Middleware Partner Advisory Council, hooked up with the SOA and BPM community, and will participate in an Oracle Technology Network vidcast by Bob Rhubart. We also presented several sessions of which you can read more in upcoming blogs.
- Offering IaaS (Infrastructure as as Service) next to PaaS and SaaS;
- Presenting various of its Cloud products;
- Announcing the Oracle Private Cloud for organizations that want infrastructure and data to be located on premise, while Oracle supplies and manages the infrastructure as a service. This is useful for organizations that have strict demands for location and control of sensitive data.
![]() |
There's no escaping Oracle in San Francisco this week |
Obviously this focus is not only seen in the big keynotes, but also felt in the various sessions at OpenWorld and JavaOne. For example with the announcement of the new "Pluggable" Oracle 12c Database that is engineered with multi-tenancy in mind. Another example is the excellent presentation that Doug Clarke gave at JavaOne today on the capabilities of EclipseLink. EclipseLink supports different multi-tenancy models: shared or dedicated applications integrating with shared or dedicated databases.
![]() |
Bob Rhubart in the OTN lounge before the map showing OTN community member nationalities from all around the world |
So how about Vennster's involvement in OpenWorld and JavaOne so far this year? Among others, we attended the ACE Director Briefing, participated in the Fusion Middleware Partner Advisory Council, hooked up with the SOA and BPM community, and will participate in an Oracle Technology Network vidcast by Bob Rhubart. We also presented several sessions of which you can read more in upcoming blogs.
![]() |
Ronald interviewed at OpenWorld |
Saturday, September 29, 2012
Email notifications from BPMN processes using the pre-built VM for SOA and BPM Suite 11g
In tomorrow's OpenWorld session UGF10464 - ADF EMG User Group: Oracle Fusion Middleware Live Application Development Demo a team of developers will build and demo an application based on Fusion Middleware (ADF, SOA Suite, BPM Suite, Database). We will use the pre-built Virtual Machine for SOA Suite and BPM Suite 11g for this. The VM contains a fully configured and ready-to-use SOA Suite and BPM Suite 11.1.1.6.0 installation (PS5). Note that this is a development VM that shouldn't be used for production environments.
The application implements the process of submitting, reviewing, and scheduling abstracts for a conference. An overview of its components is shown in the following figure:
Presenters will be notified of the progress of their abstract submission through email. For example after approving or rejecting the abstract and after evaluation of the presentation. This can be seen in the following figure that depicts the Abstract-to-Presentation process:
This blog explains how to configure the pre-built VM to send email notifications from BPMN processes.
The application implements the process of submitting, reviewing, and scheduling abstracts for a conference. An overview of its components is shown in the following figure:
Presenters will be notified of the progress of their abstract submission through email. For example after approving or rejecting the abstract and after evaluation of the presentation. This can be seen in the following figure that depicts the Abstract-to-Presentation process:
This blog explains how to configure the pre-built VM to send email notifications from BPMN processes.
Configure Email Server and Client
The VM is pre-installed with JAMES, an open-source Java mail server. JAMES is located in the following directory on the VM: /opt/ApacheJames/james-2.3.2. The mailserver is already prepopulated with several users. You can add your own users to it using Telnet (see http://james.apache.org/server/2.3.1/adding_users.html).
JAMES is preconfigured in the Virtual Machine to use emailExample.com as servername, meaning that any newly created email address will have the following format: username@emailExample.com; for example ronald@emailExample.com. You can change this setting in the following file: /opt/ApacheJames/james-2.3.2/apps/james/SAR-INF/config.xml.
Next you can use an email client to connect to JAMES to verify that emails can be send and received. JAMES is configured with the following port numbers: 110 for POP3 and 25 for SMTP.
If you connect to JAMES from outside the VM you have to make sure that port forwarding in VirtualBox is configured so that the SMTP and POP3 ports are accessible to your email client.
Configure BPM Suite
You can send emails from BPMN processes by using a Notification activity and choosing email as Notification Type in the implementation properties. Make sure the To address evaluates to an emailadress that exists in JAMES.
Next you have to configure BPM Suite in Enterprise Manager so that the notifications are sent through JAMES. You have to configure both the Email Driver Properties of the usermessagingdriver-email (part of the User Messaging Services or UMS), as well as the Workflow Notification Properties. This is described in a blog by Craig Barr.
Take care that you also configure the Workflow Notification Properties. Workflow Notification is primarily configured to enable email integration for Human Tasks. This way task assignees of new tasks are notified through emails and actionable tasks can be completed through emails. However, these settings also need to be configured to enable email notifications sent from processes.
Thursday, September 20, 2012
Fault Handling Slides and Q&A
AMIS organized its annual Oracle OpenWorld and JavaOne preview event last Tuesday. The event is organized for people that don't attend OpenWorld and for presenters to rehearse their sessions and get feedback from the audience. Vennster gave two presentations:
- Using Eclipse DBWS to Interface with Legacy Applications - Lonneke Dikmans
- Effective Fault Handling in Oracle Service Bus and SOA Suite 11g - Ronald van Luttikhuizen; co-presented at OpenWorld with Guido Schmutz, Technology manager at Trivadis
This blog includes the updated slides of the Fault Handling presentation and contains a Q&A section that answers questions from the audience at the preview event. Lonneke will post the slides of her presentation in a follow-up blog. Last but not least, thanks to AMIS for hosting the event!
Fault Handling
It is one thing to architect, design, and code the “happy flow” of your automated business processes and services. It is another thing to deal with situations you do not want or expect to occur in your processes and services. This session dives into fault handling in Oracle Service Bus 11g and Oracle SOA Suite 11g, based on an order-to-cash business process. Faults can be divided into business faults, technical faults, programming errors, and faulty user input. Each type of fault needs a different approach to prevent them from occurring or to deal with them. For example, apply User Experience (UX) techniques to improve the quality of your application so that faulty user input can be prevented as much as possible. This session shows and demos what patterns and techniques can be used in Oracle Service Bus and Oracle SOA Suite to prevent and handle technical faults as well as business faults.Q&A
This section lists answers to the questions that were raised during the preview event.
Q: Where can retries be configured in Oracle Service Bus?
The retry mechanism is used to prevent faults caused by temporary glitches such as short network interruptions. A faulted message is resend (retried) and might succeed this time since the glitch has passed. Retries are an out-of-the-box feature that can be used in Oracle Service Bus and Oracle SOA Suite using the Fault Policy framework. By default, retries are disabled in Oracle Service Bus.
In Oracle Service Bus retries can be configured for several artifacts, among others the following:
Q: Where can retries be configured in Oracle Service Bus?
The retry mechanism is used to prevent faults caused by temporary glitches such as short network interruptions. A faulted message is resend (retried) and might succeed this time since the glitch has passed. Retries are an out-of-the-box feature that can be used in Oracle Service Bus and Oracle SOA Suite using the Fault Policy framework. By default, retries are disabled in Oracle Service Bus.
In Oracle Service Bus retries can be configured for several artifacts, among others the following:
- Retries can be configured on Business Services as part of their Transport Configuration.
- Retries can be configured for inbound JCA-based Proxy Services as endpoint properties: jca.retry.count, jca.retry.interval, jca.retry.backoff, and jca.retry.maxInterval.
- Retries can be configured for outbound JCA-based Business Services using the same endpoint properties.
- Retries can be configured for JMS Proxy Services and (S)FTP Proxy Services as part of the Advanced Settings.
See Oracle's Developer’s Guide for Oracle Service Bus 11g for all possible retry configurations.
Mind transaction boundaries and write operations when configuring retries. For example, consider a flow that is composed of two actions in which the first action inserts a record in the database and then commits, while the second action invokes a Web Service. When the second action fails and the entire flow is retried, you might end up with two new, identical records.
Mind transaction boundaries and write operations when configuring retries. For example, consider a flow that is composed of two actions in which the first action inserts a record in the database and then commits, while the second action invokes a Web Service. When the second action fails and the entire flow is retried, you might end up with two new, identical records.
Q: What other load-balancing algorithms can be used besides round-robin?
When there are multiple instances of a service that are invoked from Oracle Service Bus, load-balancing can be configured on Business Services. Load-balancing can prevent faults by retrying messages that were sent to unavailable endpoints to other, hopefully active endpoints. Load-balancing is disabled by default. When enabled, the default algorithm that is used for load-balancing is round-robin.
The Oracle's Developer’s Guide for Oracle Service Bus 11g lists all possible load-balancing algorithms:
"Specify the load balancing algorithm as any one of the following values:
When there are multiple instances of a service that are invoked from Oracle Service Bus, load-balancing can be configured on Business Services. Load-balancing can prevent faults by retrying messages that were sent to unavailable endpoints to other, hopefully active endpoints. Load-balancing is disabled by default. When enabled, the default algorithm that is used for load-balancing is round-robin.
The Oracle's Developer’s Guide for Oracle Service Bus 11g lists all possible load-balancing algorithms:
"Specify the load balancing algorithm as any one of the following values:
- Round-robin - This algorithm dynamically orders the URLs that you enter in the Endpoint URI field for this business service. If the first one fails, it tries the next one, and so on until the retry count is exhausted. For every new message, there is a new order of URLs.
- Random - This algorithm randomly orders the list of URLs that you enter in the Endpoint URI field for this business service. If the first one fails, it tries the next one, and so on until the retry count is exhausted.
- Random-weighted - This algorithm randomly orders the list of URLs that you enter in the Endpoint URI field for this business service, but some are retried more than others based on the value you enter in the Weight field.
- None - This algorithm orders the list of URLs that you enter in the Endpoint URI field for this business service from top to bottom."
Q: How is throttling implemented in Oracle Service Bus (in-memory, JMS, etc.)? Are messages in the throttling queue lost when the server fails?
Throttling introduces a message queue between a Proxy Service and a Business Service that temporarily stores messages to prevent backend systems from overloading. Whenever the number of messages exceeds the thresholds as configured in the throttling settings, the message is stored in a queue. When the number of messages that need to be processed decreases, messages are removed from the queue and sent to the backend system via the Business Service.
The Oracle Administrator’s Guide for Oracle Service Bus 11g discusses throttling and its configuration:
"A throttling queue is an in-memory queue. Messages that are placed in this queue are not recoverable when a server fails or when you restart a server. When you delete or rename a business service, all the messages in the throttling queue are discarded."
The Oracle Administrator’s Guide for Oracle Service Bus 11g discusses throttling and its configuration:
"A throttling queue is an in-memory queue. Messages that are placed in this queue are not recoverable when a server fails or when you restart a server. When you delete or rename a business service, all the messages in the throttling queue are discarded."
Q: What values can be used as key for the Result Cache feature?
The result cache in Oracle Service Bus can be used to store data in-memory. When data is queried that is present in the cache, the data is fetched from memory instead of the query being sent to, and executed by the backend system. This decreases the load on the backend system. Note that this feature only works for data that is static; meaning the data is seldom changed. If not, the cache will result stale and out-of-date information. As part of the Result Cache feature you need to configure the key that is used to determine if the associated data is in the cache.
The Oracle's Developer’s Guide for Oracle Service Bus 11g says:
"Cache Token Expression – Oracle Service Bus uses a cache key to identify cached results for retrieval or population, and the cache token portion of the cache key provides the unique identifier. You can use an expression—the Cache Token Expression—to generate the cache token part of the cache key to uniquely identify a cached result for the business service.
The Cache Token Expression must resolve to a String or the value of simple content, such as an attribute or an element with no child elements. If the expression evaluates to null or causes an error, results are not cached."
The Oracle's Developer’s Guide for Oracle Service Bus 11g says:
"Cache Token Expression – Oracle Service Bus uses a cache key to identify cached results for retrieval or population, and the cache token portion of the cache key provides the unique identifier. You can use an expression—the Cache Token Expression—to generate the cache token part of the cache key to uniquely identify a cached result for the business service.
The Cache Token Expression must resolve to a String or the value of simple content, such as an attribute or an element with no child elements. If the expression evaluates to null or causes an error, results are not cached."
Friday, October 21, 2011
SOA Partner Community Award for Dutch ACE team
Every year at the SOA Partner Community dinner at Oracle OpenWorld, Jürgen Kress announces the winners of that year's SOA Partner Community awards. These awards are a recognition of contributions to the Oracle community in specific areas such as BPM 11g, SOA 11g, and specialization. This year there was a special community award for the Dutch ACE team for their community contributions through blogging, articles, tweeting, presentations, books, and so on. Vennster's Lonneke and Ronald are part of that team. Lonneke accepted the award on behalf of the others.
For the complete list of awards and winners see the SOA Community Blog.
Friday, October 7, 2011
Magic OpenWorld pass
You ever had the disappointing experience that you weren't allowed in a session or hands-on lab cause you didn't register and the session was already fully booked? I certainly had that a couple of times. This year is different, and not because I already finished the Schedule Builder months ago. I don't know why but somehow I'm always allowed to enter sessions this year :-) Even those sessions I didn't register for and are fully booked. Every time the green checkbox mark appears after scanning. I don't know what it is, but I'm going to treasure and hang on to my OpenWorld pass, that's for sure. Beginning to hope the magic pass also works on the business class lounge at the airport and the
ATM :-)
Just for the fun of it, a picture of Duke & Vennster.
ATM :-)
Just for the fun of it, a picture of Duke & Vennster.
Wednesday, October 5, 2011
Oracle OpenWorld 2011, The Story So Far ... !
It doesn't matter how often you've visited Oracle OpenWorld before, it remains an overwhelming experience every year! The enormous crowds (over 45,000 this year), the gigantic amount of information to absorb, all the networking, business opportunities, social events and meetups with old friends and new people, all the new ideas that start bubbling in your head by listening, dicussing, asking, answering, and presenting.
Mix all of that with a proper jetlag and you'll get a feel of the spicy cocktail that OpenWorld is :-) Returning from OpenWorld gives you a tired yet really energetic feel!
Tuesday feels a bit like the calm before the storm. Everyone digested a lot of information and attended a lot of events these last few days and is now prepping for the final encore on wednesday with Larry's keynote and the appreciation event that evening at Treasure Island.
To give you an idea of the things going on at OOW, I've compiled a short list of activities we participated in so far:
What's there to come?
Mix all of that with a proper jetlag and you'll get a feel of the spicy cocktail that OpenWorld is :-) Returning from OpenWorld gives you a tired yet really energetic feel!
Tuesday feels a bit like the calm before the storm. Everyone digested a lot of information and attended a lot of events these last few days and is now prepping for the final encore on wednesday with Larry's keynote and the appreciation event that evening at Treasure Island.
To give you an idea of the things going on at OOW, I've compiled a short list of activities we participated in so far:
- ACE Director Briefing at Oracle HQ. Product management gives a preview of the things to be announced at OpenWorld and presents roadmaps of Oracle's products and tools.
- BPM and SOA Partner Advisory Council. Every year Jurgen Kress organizes a partner council at OOW in which product management present a detailed roadmap for BPM and SOA products such as Oracle SOA Suite, Oracle BPM Suite, Oracle Enterprise Repository, AIA, and so on. Partners are encouraged to provide feedback for product improvement. It's good to see that the Oracle products in this space such as OSB and SOA Suite are mature and future versions will build on the same programming models and will be made even more stable.
- SOA & BPM Partner Social Event. This year Jurgen took us eBiking in San Francisco and Sausalito. Beautiful weather, beautiful scenery, and a lovely dinner at Sausalito. Excellent event. This was followed up by the SOA & BPM Community Reception at Gordon Biersch later this week. Again a great event. And on behalf of the Dutch, thanks for the "active community" award :-)
- Loads of sessions and hands-on labs on BPM, SOA, NoSQL, Java/JEE, and so on. This year I had a chance to play with Coherence, BAM, CEP, ADF Mobile, BPM, and some other cool three letter acronyms.
- Lonneke presented on how to make SOA successful - session 28720 "Approach to SOA: Making This A Successful Endeavor For The Whole Organization". Full room!
- Annual ACE Dinner. Yet another great event to meet up with the OTN team and your Oracle peers!
- More good stuff from the OTN team who make a lot of this stuff possible! The OTN Lounge and OTN Night Party. Excellent hangsouts for Oracle developers! Go to the Howard Street Tent. Always something good going on in the OTN Lounge with techcasts, meetups with the OTN team, chatting with others from the OTN community.
- ODTUG social event in the French Bistro. Already lots of discussions on Kaleidoscope 2012.
- Oracle Publishers Seminar. Another heads up from product management on all the various products. We were invited thanks to Packt, who is publisher of the SOA Made Simple book we're writing.
- The Fusion Apps User Experience Advocates program had a short meeting to discuss the UX topics for the upcoming period.
- Demogrounds. Almost all Oracle products are demoed at Moscone. Go there to learn more about products and ask questions to Oracle staff.
- Oracle BeNeLux event at Ruby Skye.
What's there to come?
- Meetup with Bob Rhubart (OTN Architect Community) for a podcast recording on our new book "SOA Made Simple".
- Larry's keynote of course: bright lights, loud music, cool intro, and hopefully some big news!
- Appreciation event at Treasure Island with Sting!
- Sessions, and even more sessions!
Subscribe to:
Posts (Atom)