Oracle Database Management Strategic Directions

1. Best Practices for managing Oracle database servers.
2. Oracle Fusion Middleware products like J2EE, ADF, XML, BPEL, SOA, Web Services, Discoverer...).
3. Oracle Application Servers and Apache.

Thursday, July 19, 2007

Oracle Fusion Middleware: SOA and BPEL, like Harry Potter and Hermione

I get a lot of questions on SOA and BPEL, so I wanted to talk a little about them to make sure that if you are at a party and the topics of SOA and BPEL come up, you can join the conversation. When people are talking about the BPEL, WSDL, or the shizzle you need to understand what they mean. This is important because a few years ago RAC and margarita parties were very popular, now Oracle Fusion middleware and mojito parties are all the rage. In fact, I was at one of my favorite restaurants in San Francisco, Colibri a Mexican Bistro and while having a mojito the person next to me started talking about middleware.

Aligning Business Processes and Applications

Batman and Robin, the Green Hornet and Kato, Harry Potter and Hermione and now SOA and BPEL. For most of these you can't imagine one without the other. A key for enterprise organizations is focusing on improving the alignment of business processes with technology (software applications). Business processes are constantly changing and organizations need to be very good at managing that change.

Web services, the Service Oriented Architecture (SOA) and the Business Processing Execution Language (BPEL) have become very popular approaches to address the following important challenges:
  • Managing changes to business processes and reflect those changes with its applications.
  • Getting all kinds of different types of applications to work together.
A service is an endpoint in a connection. The endpoint contains a standalone function (provider service) that can accept input (from a consumer service) to perform a task and then return a result. This function is self-contained and is not dependent on any other service to perform its specific task. A number of services can communicate with each other to perform more complex tasks. The services communicate using XML based WSDL service descriptions.

Web Services, WSDL, UDDI, XML and ESB
Web services is the technology for connecting services. Web Services has become the technology for achieving interoperability with different languages, operating systems and hardware platforms. Web services is a distributed technology for connecting different types of applications that are supported by all vendors. A web service is an application that provides some type of business functionality while hiding the details of how it works. Software applications can then use web services (software applications that provide specific functionality) to perform a task or operation.

The technology components that make Web Services work includes:
  • Web Services Description Language (WSDL) - Uses XML data structures for describing services as a set of endpoints. Service requests use WSDL to understand how to communicate and how to send information back and forth.
  • Universal Description, Discovery and Integration (UDDI) - (UDDI) is a registry that stores information (WSDL) on services. Kind of like a phone book stores phone numbers.
  • The eXtraction Modification Language (XML) is a data structure containing metadata and data that is used for sending information back and forth. You can think of XML as being the plumbing that makes everything work.
  • Simple Object Access Protocol (SOAP) - SOAP is the protocol for how XML based messages get sent across the Internet using HTTP/HTTPS.
  • An Enterprise Service Bus (ESB) is a communication infrastructure that allows different middleware products and protocols to communicate. The ESB provides routing, transformation, the management of services and message processing capabilities. All your applications may not be using web services, so the ESB can function as an intermediary for different types of communication.
The Service Oriented Architecture
The Service Oriented Architecture (SOA) provides services (web services), messaging (exchange of data), self-describing interfaces (WSDL), service registries (UDDI), service quality and the organization of services (BPEL) into business processes. SOA does not specify the technology components to use. SOA uses services that can be used without the service knowing anything about the application calling it and the calling application not needing to know how the service performs its task. SOA is an architecture that facilitates the creation of loosely coupled services (applications) that can be executed from any platform. Services communicate using well-defined descriptions or contracts using WSDL. This complete hides which language a service is written in. Services can be written in Java, .NET, C#, PL/SQL and PHP to name a few.

Changing Environments
The computer industry has gone through significant changes. From mainframes, to client-server, to multi-tiered web environments and now to a service oriented architecture. Every technology has had its place. Business flexibility, integration, coordinating business processes with applications have forced the move to a service oriented environment. What's funny is that SOA and web services can increase the life of legacy systems.

BPEL a common language.
The problem in getting technical and business people to communicate well is they need a common language. For example, technical people speak languages like Oraclese and business people speak languages like Parseltongue. The Business Processing Execution Language (BPEL) for Web Services (WS-BPEL) or (BPEL4WS) is a high level language that both technical and business people can both speak.

BPEL is a business process modeling language that can be executed. BPEL defines business processes for web services using XML. This is why BPEL plays such a strong role in the Service Oriented Archiecture.

Some of the features that BPEL offers:
  • Organizing how services (software applications) are aligned with business processes.
  • Definition of business processes.
  • Automation of web services.
  • Managing synchronous and asynchronous operations.
  • Executing services in sequence or in parallel.
  • Managing short or long running transactions.
  • Resuming interrupted or failed operations.
  • Scheduling activities.
  • Define business processes with several scopes.
  • Route messages.
  • Define business logic through the organization of services.
  • Create business processes from smaller processes.
BPEL is definitely helping organizations make the implementation of SOA successful. Tools such as the Oracle BPEL Process Manager are making it a lot easier to introduce BPEL into an organization and increasing the adoption of SOA. The Oracle BPEL Process Manager can be used by business analysts and technical people to communicate on how to align business processes and software applications.

The Oracle BPEL Process Manager runs in the Oracle JDeveloper product or it can be installed into tools such as Eclipse. The Oracle BPEL Process Manager also works with the majr application server vendors. Although we mention the Oracle BPEL Process Manager, BPEL products are available from IBM, Sun, Microsoft and a large array of 3rd party companies. The OASIS Technical Committee (WSBPEL TC) is currently working on the WS-BPEL 2.0 draft. This draft focuses more on extentions to the the existing WS-BPEL 1.1 version.

BPEL is a standard that manages web services and is language independent. However, most web services are implemented with the Java Enterprise Edition or Microsoft .NET. There are also BPEL servers that are provided by a number of different companies. BPEL helps the success rate of SOA projects. One way of looking at this is, think of a service of being a house or building that generates a product or needs a product, web services as being the houses or buildings, XML (WSDL) being how people in the houses and buildings communicate, SOA as being the town and BPEL defining how the town is organized.

Organizations that are using SOA and BPEL are having much more success with higher end-user satisfaction versus the companies that are trying to just implement web services. Hopefully this will put a little more shizzle in your conversations on SOA and BPEL.


Oracle Database 11g Launch in New York City

An Exciting Launch!
It was exciting to be invited to the Oracle Database 11g launch in New York City. As part of the Oracle beta leadership council, it was great to see so much energy and interest surrounding the Oracle Database 11g release. One thing that is very important with the growth of data and the need of businesses to be able to be nimble and respond to change quickly, is that databases need to constantly get faster, improve diagnostics and troubleshooting, reduce the cost of ownership and improve manageability. The Oracle Database 11g release definitely succeeds in all these areas.

I thought one of the highlights was for the Independent Oracle Users Group (IOUG) to get so much stage time with Charles Phillips. I felt is showed the tremendous input the IOUG has provided with the Oracle Database 11g product and Oracle's recognition of that. As a board of director for the IOUG and my involvement with the Oracle beta leadership council it was nice to see the important role the IOUG plays in the industry be recognized at such a high profile event. The IOUG is also continuing to play an ever increasing role in the Oracle 11g Middleware beta program due to the IOUG's profile in the Oracle Fusion middleware space.

Oracle Releases
Historically speaking the first Oracle release of Oracle Database 5, 6, 7, 8, 8i, and 9i were definitely bleeding edge releases. However Oracle 10g and Oracle Database 11g have been by far the most stable and well tested first releases in the history of Oracle. While a lot of people were talking about not moving to the first release of Oracle 10g, they did not realize that Oracle 10g had a lot of bug fixes for Oracle 9i and had a lot of improvements in the advanced features of Oracle.

I feel the Oracle beta program has had a significant positive impact on the Oracle 10g and 11g releases. By getting industry leaders from user groups such at the IOUG allows recognized industry leaders to have direct input and to provide feedback directly to Oracle product managers and developers. It has been wonderful to see how open Oracle has been to listening to the user groups and the incredible effort the Oracle product teams have put into the release. As Charles Phillips mentioned, Oracle Database 11g is the gold standard of Oracle releases and the Oracle beta program has been a large part of that success.

Be Careful of Old Sages
I understand the important need to be cautious about upgrading and to minmize risk and downtime. Everyone understands it is important to be careful about upgrading. You'll see an old sage say, well the new software release is interesting but I think I will wait for a later release. You'll then see a number of DBAs nod their heads in agreement. That's also like saying I am going to save my company money and reduce risk by continuing to run my company with old techniques that are out of date. Companies like this are running their databases more like the way they did 5 or 10 years ago with a sprinkling of new features being used. They are bragging about their up time yet not leveraging features that would help the organization and save it money. Safe is important but so is maximizing your ability to be competitive in the industry. The old saying, "if it isn't broke, dont' fix it" isn't always the best approach.

Technology needs to leverage what businesses are doing and to give business a competitive advantages. Companies need to look more carefully at the benefits of new features and how these features can benefit the business. I am not saying take your highest profile database and move it to Oracle Database 11g when it first comes out. What I am saying is that customers looking to migrate lower profile Oracle 9i databases should strongly consider migrating to Oracle Database 11g to leverage the benefits of the new features. If the new features of Oracle Database 11g are used out of the box, a company has the opportunity to significantly reduce their cost of ownership, increase availability, improve performance and manageability.

Benefits of Oracle Database 11g
Oracle Database 11g definitely hits the mark in:
  • Making the database and database applications run faster in key areas.
  • Improves important features related to Real Application Clusters, Data Guard and Oracle Streams.
  • Reduces cost of ownership with Change Assurance (Database Replay) and Lifecycle Management.
  • Greatly improves manageability and diagnosability.
A few features I really like that may not make a top ten list but I really liked include:
  • PL/SQL gets faster and easier to adminster with native compilation without the need for an external compiler.
  • Java in the database gets significantly faster.
  • PHP in the database who would have ever thought.
If you are an organization that needs to leverage technology to improve the business and make it more competitive then I highly recommend a detailed review of Oracle Database 11g features to see what benefits can help your business. You may decide not to move to Oracle Database 11g but to keep your organization as competitive as possible, a through analysis of Oracle Database 11g should be done.





Popular Classes

  • Oracle11gR2 New Features

  • Intro to Java Programming
  • Intro to Linux for Oracle
  • Intro to PL/SQL Programming
  • Oracle11gR2 Fusion Dev Wkshp I





    The Trubix Blog is focused on discussions on strategic directions in database technology and the challenges Oracle technologists are addressing today and in the future. This site will focus on issues and challenges of database management that cannot be resolved with a code snippet. There are already a lot of great websites out there with tons of code samples. We would like to facilitate more discussions on issues Oracle technologists are dealing with today that a quick search on the Internet cannot solve. There will also be a group of recognized industry leaders that will also participate in this blog. This blog is an extension of the Tim Tam Group, an international group of industry leaders that meet once a year to discuss strategic directions in the industry.



    Powered by Blogger