Many business activities in the world today are based on web services and process for their smooth execution. Web Services are usually self-contained business process application in form of modules based on an industry's standard technology. Users who use web services are able to connect to different components even to those that are across boundaries of different business organizations without any difficulty. A business process on the hand outlines the potential order of execution of operations from a web services collection, the shared data between the two web services, the partners involved and what their involvement is in the business process. It also addresses the joint exception handling for web services collections and issues that touch on how multiple services are handled by organizations. This helps in the specification of long-running transactions between the web services, increasing consistence and reliability in their applications. The specification of business processes and their relationship to web services is facilitated with the help of the Business Process Execution Language for Web Services (BPEL4WS or BPEL). This involves the specification of how a business process uses a web service in achieving its target and also the particular web services that are provided by a business process. BPEL specified business processes are portable and executable in environments that conform to them. BPEL business processes allow for interoperations with its partners' web services regardless of whether their implementation is based on BPEL. Another important attribute of BPEL is that it supports business protocols specification between partners and the views on internal complex business processes. This research paper is going to explore descriptively these web business processes and services.
The various business processes that are defined in BPEL can be re-engineered and modeled using the many BPEL modeling tolls to generate a BPEL file which is deployed to be executed in a runtime environment that is referred to as the native BPEL engine. Web Service Business Process Execution Language (WSBPEL) is similar to conventional workflow systems of management that follows the same approach. Its activities are designed in such away as to accommodate most process modeling forms and also avail the mapping of modeling tools of graphical workflow to BPEL. WSBPEL's activities can be placed into two categories; basic or unstructured and structured activities. Because WSBPEL is described in XML syntax, it can therefore be taken to be an XML document. In the implementation of WSBPEL specification, several instances in which business process are run are showcased; this opens a way for easy management of the instances and the retrieval of meaningful information. The de facto language for querying for XML, XQuery, provides an excellent way of querying and retrieving information from a WSBPEL document. For instance it can be used to find all trading partners who are involved in a process and also query partner management applications so that it can locate Collaboration Protocol Profile and Agreement (CPPA), and request validation agreements (O'Riordan, 2002)At a runtime in any business process scenario in real world, many process versions can be active. This implies that all processes of production need persistence and querying on all running process copies for purposes of housekeeping and maintenance. This will also call for some state management to handle interaction among the activities. Several versions of web service can be described within a BPEL process. Persistence can be provided by a native XML database for all versions of processes and web services, it can also define the required process for a specific application at runtime using database features referred to as schema versioning and validation features. Tagging the process document at the time of deployment as the latest version is the easiest way that schema versioning can be achieved with a native XML database. This way, the engine creates an instance from the process that was tagged last whenever a request for that process is received. For more flexibility, requests should always carry versioning information about a process so that the engine finds it easy to create an instance to a process to a particular version. The engine can also mark a process as dead or obsolete if not in use. For those who will like to get this functionality by updating the XML document at the node level can use an XQuery engine which enables updates at the node level for better results (Hilerio, 2010)As it has been seen, an XML persistence mechanism is vital for any process lifecycle management especially when used together with XQuery. Another very important advantage of XML persistence is the use an XML data management system that facilitates business process analysis that can not be escaped in today's business scenarios. A clear way is not given by WSBPEL specs for any mechanisms of optimization that is based on past execution, this is why it is good to have persisted or historical data for the processes which either completed or running to facilitate the optimization of the process. On top of these, many key process indicators and reports can be generated using the persisted data that was used in the process execution. These can include; the number of completed or running instances of processes per week; the number of specific endpoint errors or links of partners for a particular process; the execution time that a specific process takes over a period of time; the size of the exchanged data for each end point; the uptime or availability of partner links; and the average time of waiting for asynchronous endpoints among many others.
Business processes that exist in the business world can be divided into two domains that are very much distinct but converge. These are; public process- processes that are shared between a business enterprise and its customers, suppliers and even other partners. This is what is commonly referred to as the business-to-business integration (B2Bi) domain; and the private processes-which are internal processes to a business commonly referred to as the enterprise application integration (EAI) domain. Many characteristics that are common to these two domains are shared between their solutions, for example B2B and EAI use XML document exchange amid their applications. Furthermore, business processes, be it public or private, in any enterprise, combine in performing a business's overall operations, this calls for a single business process standard which can accommodate the two domains. These domains however have differences that can not be ignored. For instance public processes entail strict security and legal requirements whereas private processes call for execution details which are not found in the public processes such as the steps followed in processing a purchase order in various enterprise applications.In order for a business process to provide comprehensive and exhaustive support for these processes, it should put into consideration the following features;Another approach which is very powerful if supported by some standards is the Web Service aggregation. This is where a web service is used to implement another one. For instance a workflow that handles purchase orders in an organization may get the orders from the organization's customers through one web, but call for an internal ERP application through another web service in order to process the order. This is significantly less expensive when compared to the traditional EAI business processes (Parikh A., Kondur V. & Parikh P. 2005)The above features can now be related to the Web Service standards by looking at a representative Web Service structure. Layers of technology and standards are used in the building of Web Services architecture. On these layers, services can then be deployed and implemented. On such a Web Service stack, each layer depends on the layer that is below it. There can be many different variations of this architecture, but each has the features discussed above on top of the basic messaging and the foundation layers of service description. For instance a generic Web Service architecture that maps to specific architecture from prominent companies or organizations has the following layers.Packaging or transport- this sees that information is packaged and reliably and securely transported between participants. Some just refer to it as the messaging layer.Service-this is a layer that describes the interfaces of operation that a web service has.Quality of service-this is the layer where non-operational aspects of services are described. This includes security and reliability characteristics.Orchestration-the interaction of services with each other in processes of a business are described by this layer using workflow descriptions. It can also be called the choreography layer.Agreements-this one describes the collaboration of specific trading partners in the performance of the shared business processes.Orchestration is the core layer that describes the semantics of a business processes, there are specification that address it. These are ebXML BPSS, WSFL, XLANG, AND BPML. Each to some extent supports some aspects of the features that were earlier discussed; this depends majorly on the domains that they address. EbXML BPSS (Business Process Specification Schema) is one of the comprehensive ebXML B2B groups of specifications that also encompass basic specification for secure and reliable messaging that is based on SOAP, a repository or registry, collaboration profiles and agreements, and some other core components. BPSS is a fairly easy but efficient schema that only describes public processes. Different roles collaborate in a BPSS model to execute out a set of transactions. A control flow is used to define the orchestration of transactions basing on UML activity graph semantics. Description of data flows between transactions is not explicitly supported. The model's transaction part is based on a confirmed, strong model for long-lived business transactions of e-commerce used by earlier B2B standards like Rosetta NET. Here there is open support for quality-of-service semantics specifications for many transactions like authentication, non-repudiation, timeouts and acknowledgements (Putnik & Cunha, 2005)XLANG on the hand uses WSDL in its description of the service interface of each participant. A control flow that choreographs these operations specifies this behavior, where there is no other way of specifying the data flows between operations. Transactions that take a lot of time because they have multiple operations are also supported and can be nested at the same time. Through this, compensating operations can be specified for transactions that need compensating. It also necessitates the identification of exceptions to enable the specification of recovery operations. This sees to it that there is flexible incorporation of timeouts and acknowledgement. Contracts are used by XLANG to provide support for agreements which help in defining how the collaborating partners' web services are stitched together. This service does not define the quality-of-service characteristics used in web services like authentication and non-repudiation, or the requirements for guaranteed messaging. Web Service Flow Language (WSFL) covers both private and public processes. Its primary focus is the description of the composition of Web Service. Just like XLANG, it uses WSDL in describing service interfaces. The workflow for any process is described by a flow model. Here a state transition model can be used to define both data flow and control flow. It does not however explicitly support transaction and exception handling, but conditional transitions can be used to implement some of the semantics. It makes it possible for the activities in a workflow to be exported in form of Web Service operations; they can also be implemented by delegating them to a Web Service. WSFL therefore can be used to support the Web Service aggregation. The defining of the way various web services are linked in a process is made possible by the use of a global model. It is not any different from the business process contracts that are used in XLANG. A separate specification known as the Web Services Endpoint Language (WSEL) picks up the quality of service characteristics delegated to it. BPML is used in the provision of a means that specifies an enterprise's processes. It serves as a complementary to the public process standards already highlighted. The data and control flow constructs are comprehensively described here. It is a better option in that it can support both the short and long-running transactions by use of the compensating activities. Just like the previous options it also supports timeouts and exception handling, the only shortcoming is that it does not give a way that can be followed in specifying the important characteristics used in the B2B processes (Periorellis, 2007)
Under the BPEL applications called the process-based applications are created. This divides an application in two layers that are separate from each other. The top layer is the business process which basically represents the application's flow logic. The bottom layer is the web services that give the application's function logic. These two can be changed without any harm on the services within an application or on the business process. BPEL applications permit the tailoring of the existing applications to suit the needs and circumstances of a given environment without tempering with the application itself. This is made possible by separating the way the partners that are dealing with a business process are defined from those that are actually involved. Only the operations and port types to be provided by the different partners are specified. When this process is on, the availability of the information about the port types and web services that the chosen partners give is needed. Partners are then assigned service references at the installation of a business process so that during its operation, the reference will be used in invoking the web service. With the changing technology in the business world today there is an increasing movement of businesses towards an all-inclusive automation and integration of their public and private processes, and web service has become the popular tool that is being used for this integration structure. BPEL has been one of these tools in its support in specifying a broad range of business processes. It avails a long-running transaction model that makes sure that there is reliability and consistency in web service applications (Leymann & Roller, 2002)