SOA and WS-BPEL: Composing Service-Oriented Architecture Solutions with PHP and Open-Source ActiveBPEL
April 27, 2010 by BPELresource.com · 5 Comments
Product Description
Composing Service-Oriented Architecture Solutions with PHP and Open-Source ActiveBPEL
- Build Web Services with PHP
- Combine PHP Web Services into orchestrations with WS-BPEL
- Use better WS-BPEL to enable parallel processing and asynchronous communication
- Simplify WS-BPEL development with free graphical tool ActiveBPEL Designer
In Detail
When utilized within a Service-oriented Architecture (SOA), Web Services are part of a business process determining the logical order of service activities – logical units of work performed by one or more services. Today, the most popular tool for organizing service activities into business processes is Web Services Business Process Execution Language (WS-BPEL), a language defining an execution format for business processes operating on Web Services. While it is not a trivial task to define a business process definition with WS-BPEL from scratch, using a graphical WS-BPEL tool can significantly simplify this process.
Examples and practice are much more valuable than theory when it comes to building applications using specific development tools. Unlike many other books on SOA in the market, this book is not focused on architecture. Instead, through numerous examples, it discusses practical aspects of SOA and WS-BPEL development, showing you how to apply architecture in practice with the help of PHP, ActiveBPEL open-source engine, and ActiveBPEL Designer – powerful development tools available for free.
What you will learn from this book?
- Install and configure the software components required to build PHP Web Services and then combine them into WS-BPEL solutions
- Use PHP as the underlying technology for creating building blocks for SOAs
- Build data-centric services based on MySQL or Oracle Database XE
- Secure services built with PHP SOAP extension
- Combine fine-grained services built with PHP into coarse-grained ones with WS-BPEL
- Deploy WS-BPEL process services to ActiveBPEL open-source engine
- Simplify WS-BPEL development with ActiveBPEL Designer
- Implement asynchronous interactions between WS-BPEL processes
Approach
With the help of many examples, the book explains how to build Web Services with PHP, combine them into SOAs with WS-BPEL, and then deploy composite WS-BPEL-based solutions to the ActiveBPEL engine. The examples in this book are presented in a way that anyone can understand and apply.
Who this book is written for?
This book is suitable for anyone who wants to start building SOA applications using powerful tools available free of charge. It also will be useful for PHP developers willing to move towards Service-Oriented Architecture (SOA).
Readers need only a basic knowledge of SOA, BPEL, and Web Services; even a total beginner will be able to follow the examples, provided the required software components are installed on his or her computer. More experienced readers might use this book as a reference, focusing only on the chapters of interest.
Business Process Execution Language for Web Services BPEL and BPEL4WS 2nd Edition
April 27, 2010 by BPELresource.com · 5 Comments
Product Description
An Architects and Developers Guide to BPEL and BPEL4WS
- Architecture, syntax, development and composition of Business Processes and Services using BPEL
- Advanced BPEL features such as compensation, concurrency, links, scopes, events, dynamic partner links, and correlations
- Oracle BPEL Process Manager and BPEL Designer Microsoft BizTalk Server as a BPEL server
In Detail
Web services provide the basic technical platform required for application interoperability. They do not, however, provide higher level control, such as which web services need to be invoked, which operations should be called and in what sequence. Nor do they provide ways to describe the semantics of interfaces, the workflows, or e-business processes. BPEL is the missing link to assemble and integrate web services into a real business process BPEL4WS standardizes process automation between web services. This applies both within the enterprise, where BPEL4WS is used to integrate previously isolated systems, and between enterprises, where BPEL4WS enables easier and more effective integration with business partners. In providing a standard descriptive structure BPEL4WS enables enterprises to define their business processes during the design phase. Wider business benefits can flow from this through business process optimization, reengineering, and the selection of most appropriate processes . Supported by major vendors — including BEA, Hewlett-Packard, IBM, Microsoft, Novell, Oracle, SAP, Sun, and others — BPEL4WS is becoming the accepted standard for business process management.
This book provides detailed coverage of BPEL4WS, its syntax, and where, and how, it is used. It begins with an overview of web services, showing both the foundation of, and need for, BPEL. The web services orchestration stack is explained, including standards such as WS-Security, WS-Coordination, WS-Transaction, WS-Addressing, and others. The BPEL language itself is explained in detail, with Code snippets and complete examples illustrating both its syntax and typical construction. Having covered BPEL itself, the book then goes on to show BPEL is used in context. by providing an overview of major BPEL4WS servers. It covers the Oracle BPEL Process Manager and Microsoft BizTalk Server 2004 in detail, and shows how to write BPEL4WS solutions using these servers.
What you will learn from this book?
Chapter 1 provides a detailed introduction to BPEL and Service Oriented Architecture (SOA). It discusses business processes and their automation, explains the role of BPEL, web services, and Enterprise Service Buses (ESB) in SOA, provides insight into business process composition with BPEL, explains the most important features, compares BPEL to other specifications, provides an overview of BPEL servers, and discusses the future of BPEL.
Chapter 2 provides a detailed introduction to the Web Services Technology Stack. It discusses the important standards and specifications for using BPEL and implementing SOA with web services, such as WS-Security, WS-Addressing, WS-Coordination, WS-AtomicTransaction, WS-BusinessActivity, WS-Reliable Messaging, etc.
Chapter 3 discusses the composition of web services with BPEL. The chapter introduces the core concepts of BPEL and explains how to define synchronous and asynchronous business processes with BPEL. The reader gets familiar with BPEL process structure, partner links, sequential and parallel service invocation, variables, conditions, etc.
Chapter 4 goes deeper into the BPEL specification and covers advanced features for modeling complex business processes. Advanced activities, scopes, serialization, fault handing, compensations, event handling, correlation sets, concurrent activities and links, process lifecycle, and dynamic partner links are covered in detail.
Chapter 5 explains how to use the Oracle BPEL Process Manager for deploying and executing business processes defined in BPEL. It describes the server architecture, tools, features, and common approaches for managing and debugging BPEL processes. The chapter also looks at graphical development of BPEL processes using Oracle BPEL Designer for JDeveloper and for Eclipse.
Chapter 6 takes a detailed look at the advanced features of the Oracle BPEL Process Manager including extension functions, dynamic parallel flows, Web Services Invocation Framework, Java embedding, Notification service, Workflow service, Identity service, and Oracle BPEL Server APIs.
Chapter 7 discusses MS BizTalk Server 2004 and its support for BPEL. It explains how to develop business processes in BizTalk and export them to BPEL. It also explains how to import BPEL processes into BizTalk and how to use the Orchestration Designer tool to define processes graphically, and compares BizTalk and BPEL constructs.
Appendix A provides a syntax reference for BPEL version 1.1. The appendix covers standard BPEL activities and elements, functions, attributes, and faults.
Who this book is written for?
This book is aimed at architects and developers in the design, implementation, and integration phases of advanced information systems and e-business solutions, developing business processes and dealing with the issues of composition, orchestration, transactions, coordination, and security. The book presumes knowledge of XML and web services, web services development (either on J2EE or .NET), and multi-tier architecture
Business Process Execution Language for Web Services BPEL and BPEL4WS 2nd Edition
BPEL Cookbook: Best Practices for SOA-based integration and composite applications development: Ten practical real-world case studies combining business … management and web services orchestration
April 27, 2010 by BPELresource.com · 5 Comments
Product Description
Ten practical real-world case studies combining business process management and web services orchestration
- Real-world BPEL recipes for SOA integration and Composite Application development
- Combining business process management and web services orchestration
- Techniques and best practices with downloadable code samples from ten real-world case studies
In Detail
Service Oriented Architecture is generating a buzz across the whole IT industry. Propelled by standards-based technologies like XML, Web Services, and SOAP, SOA is quickly moving from pilot projects to mainstream applications critical to business operations. One of the key standards accelerating the adoption of SOA is Business Process Execution Language for Web Services (BPEL).
BPEL was created to enable effective composition of web services in a service-oriented environment. In the past two years, BPEL has become the most significant standard to elevate the visibility of SOA from IT to business level. BPEL is not only commoditizing the integration market, but it is also offering organizations a whole new level of agility – ability to rapidly change applications in response to the changing business landscape. BPEL enables organizations to automate their business processes by orchestrating services within and across the firewall. It forces organizations to think in terms of services. Existing functionality is exposed as services. New applications are composed using services. Communication with external vendors and partners is through services. Services are reused across different applications. Services are, or should be, everywhere!
What you will learn from this book?
In the Packt book Business Process Execution Language for Web Services by Matjaz Juric, we learnt about the building blocks and how these technologies could be used to build a simple SOA solution. As organizations increase their SOA footprint, IT Managers, Architects, and developers are starting to realize that the impact of SOA on IT and business operations can be immense. After having gained confidence with web services, they want to take it to the next level. However, adopters are challenged with some basic questions – How do I SOA-enable my existing integration investment? Can I build flexible and agile business processes? How can I administer my SOA environment without spending a fortune? There have been various best practices defined around SOA, but to date these have been somewhat abstract and lacking a real-world basis. The IT community is looking for real-world examples; examples of how other companies are embarking on an SOA initiative and how to apply that industry learning to their own projects.
What makes this a Cookbook? After you have been exposed to the different ingredients (BPEL, WSDL, and web services), this book takes the adventure to the next level by helping you cook new recipes (SOA applications) using efficient kitchen techniques (best practices). 10 SOA practitioners have gotten together to share their SOA best practices and provide practical viewpoints to tackle many of the common problems SOA promises to solve. Their recommendations are based on projects in production; their existing projects could be your next ones. Through this process you’ll learn the techniques and gain the confidence to create and deliver the recipe that’s right for your particular situation.
Who this book is written for?
This book is aimed at architects and developers building applications in Service Oriented Architecture. The book presumes knowledge of BPEL, SOA, XML, web services, and multi-tier architectures.
Model SOA Business Processes Using Bpmn
April 27, 2010 by BPELresource.com · Leave a Comment
Modeling business processes for SOA and developing end-to-end IT support has become one of the top IT priorities. The SOA approach is based on services and on processes. Processes are focused on composition of services and in that sense services become process activities.
Experience has shown that the implementation and optimization of processes are the most important factors in the success of SOA projects. SOA is so valuable to businesses because it enables process optimization. In order to optimize processes, we need to know which processes are relevant and we have to understand them – something that cannot be done without business process modeling. There is a major problem with this approach – a semantic gap between the process model and the applications.
This book will show you how to fill this gap. It describes a pragmatic approach to business process modeling using the Business Process Modeling Notation (BPMN) and the automatic mapping of BPMN to the Business Process Execution Language (BPEL), which is the de-facto standard for executing business processes in SOA. The book will also cover related technologies like Business Rules Management and Business Activity Monitoring which play a pivotal role in achieving closed loop Business Process Management.
This book is for CIOs, executives, SOA project managers, business process analysts, BPM and SOA architects, who are responsible for improving the efficiency of business processes through IT, or for designing SOA. It provides a high-level coverage of business process modeling, but it also gives practical development examples on how to move from model to execution. We expect the readers to be familiar with the basics of SOA.
The book has been published and is available from Packt. For more information, please visit http://www.packtpub.com/business-process-driven-SOA-using-BPMN-and-BPEL/book
I am a Marketing Research Executive from Packt Publishing.
Does BPEL matter?
April 27, 2010 by BPELresource.com · Leave a Comment
BPEL or Business Process Execution Language (an XML format) was created according to the vision that process definitions should be interchangeable between BPM vendors. While that sounds like a noble target, I question its validity. Today BPEL is only supported by that vision as in reality it is unfulfilled. I will explain why that is my point of view and why it causes opposition. People either subscribe to that vision or they are implied to have deeper, immoral motives such as locking customers in. The truth is that any product (BPM or not) locks a customer in, one way or the other. The most successful vendors in doing this are IBM, Oracle, Microsoft and SAP. So maybe BPEL is not a visionary concept but just an ambition for more market share. The current expectation is that once these monopolists will fully endorse BPEL they will push the poor rest out of the market. The means could be a standards-based process language called BPEL.
There are over 200 other BPM vendors in all imaginable flavors. Less than ten percent of those vendors support BPEL and their implementations are not fully compatible. Therefore it is strange that some claim that BPEL is the ‘de-facto’ industry standard. Yes, it is the only thing that comes close to something that looks like a standard. Of all the languages that anyone would want to code, BPEL is (like any XML format) not something you want to write natively. Certainly not a business analyst. But the vision and claim is that BPEL resembles process code that can be taken from one BPM vendor to the other with little to no effort. That, I am sorry to say, is an illusion. Where it is part of a sales pitch it is a straight lie. It is true that you can upload the BPEL code, but that brings hardly a benefit.
When you look at how various BPM environments are implemented then you will find each one to be utterly unique. The possible combinations of operating systems, Java server versions, database servers, business rules, content integration, GUI frontend functionality, browser and portal functionality, backend application service interfaces (SOA or not) and more (such as security interfaces) go into the several thousand. BPEL exists in multiple versions (1.0, 1.1, 2.0 are quite incompatible) and allows proprietary extensions most of which are in native Java code. So it is an illusion that you can take the BPEL code along and then simply run it in another BPM environment.
Let me take this further. As you do not want to maintain BPEL code, why would you even worry about it? What you want to maintain is your processes and these should be maintained in a graphical manner and if at all be saved in something like BPMN, which is another dreadful XML format but at elast represent a graphical notation. BPEL and Java means that you need to work in Eclipse, which is a programming tool (another so called ‘standard’) and nothing else. BPEL is a functional subset of BPMN and thus a true roundtrip is not possible.
BPEL does not solve any other issues of BPM like the necessary process monitoring. A customer service centered organization does not care how you execute a process as long as it meets the business goals. So what we need is to monitor business data that represent those goals. Some of them may be process related such as elapsed time for completion of a customer service task. Monitoring business data requires access to those data and they need to be defined. In what way BPEL would support standards-based tools for business monitoring has not been explained.
BPM as a principal concept represents also a vision where the noble target replaces pragmatic and realistic achievements. There are no vendor independent studies that prove that rigidly managed process flows are beneficial to a business. Executives chase the illusion that they can implement a business model with IT that will allow them to run the business by remote control.
For decision making and monitoring the business achievements against goals, it is necessary to have access to real-time business data. BPM people speak of using ‘a common semantic set’ when they mean metadata definitions that correlate to the service interface data. Therefore not only BPEL has to be compatible but also business architecture metadata. BPEL offers nothing for both needs at all. Presenting real-time business data to the business user in the process requires Java code to pull the data from the service interface and present them.
The other element that is needed for pragmatic use of process is business rules. One can convert business rules into BPEL, but then they cannot be executed as complex rule sets that are triggered by data changes or business events. Business rules also act on business data so you need to code more Java to pull them from the service interface and pass them to the rule engine. Business rules have however multiple purposes with the most important one being so called boundary rules that are essential for auditing. The better your boundary rule set is, the better you will catch exceptions and violations automatically. Thus those rules should not really be an integral part of your process but rather an independent definition but tightly integrated into the process execution. There are some non-BPEL product that handle real-time data and rules quite well.
Some vendors propose BPM 2.0 and other visionaries already propose BPM 3.0. They say that it will not happen without BPEL. I think they are right. Therefore there will be no BPM 2.0. Or even 3.0. BPM in its current rigid form with or without BPEL and BPMN is a dead-end. New technology concepts are required.
What would this new technology need to look like? If any technology concept can foster successful process management, it has to be business facing and enable real-time metadata-driven model execution, while engaging business directly in continuous process change cycles. To enable business participation, a secure change management environment is required that controls the lifecycle and manages deployment.
The only way that business users can be involved in designing processes is by using graphical means of process representation that has to include rules and event handling. Non-technical business analysts must be able to modify processes, rules, and presentation and content. In difference to widespread opinion, process management does not improve business agility by mapping out all activities in flowcharts. That was ok when companies worked the same way for decades. Today companies need to be able to adapt on a weekly basis. The best way to plan and represent a process is by defining the user roles involved, the data entities required and how they are serviced by backend applications, business rules, user presentation and content definitions. Content state drives the process forward.
The problem of complex summary states of content has led to innovative functionality. Consider a software agent who will monitor user activity in a business process (case) and automatically discover the data and state patterns that repeatedly cause user activity.
Conclusion: When BPEL and even BPMN are looked at from a pragmatic business need perspective the only acceptable benefit is that products that use them have similar functionality and people designing processes will find it easier to switch products. Given that with other products that low level of technology is never touched, that potential benefit becomes a moot point. You can line up BPEL with Java and SOA. Nice idea, but …
Max J. Pucher is the founder and current Chief Architect of ISIS Papyrus Software, a globally operating company that specializes in Artificial Intelligence for business process and communication. He has written several books, frequently speaks and writes on IT and holds several patents.


















