Wednesday 6 October 2010

Employing Web Services technology to achieve Business Integration

Introduction

With the advent of globalization, changing customer demands and improved technological orientation, businesses today are compelled to develop newer mechanisms that could enable them to survive in competitive market place. The conventional determinants of competitive performance ability, such as price and quality, are no longer enough to face the competition (Yusuf et al., 2003). Increased market dynamics demand further capabilities other than price and quality, such as adequate levels of responsiveness to customer demands, better service availability and increased customer satisfaction to be delivered as a coherent business offering. This demands businesses to employ performance enhancement methods such as integration within and across organizational boundaries, giving them strategic edge over their rivals in the market.

Collaboration, coordination, unification and combination all such terms are synonymous to the term “integration”. Within the context of IS development, integration has been broadly divided into two constituent categories by (Markus, 2000):

  • Systems integration refers to the creation of tighter linkages between different computer based information systems and databases, whereas
  • Business integration refers to the creation of tighter coordination amongst discrete business activities conducted by different individuals, work groups or organizations, so that a unified business process is formed.

Within the next sections, we will try to explore various challenges and issues that could potentially be faced by organizations investing on their integration endeavors. More specifically we will explore this in the context of implementing Web Services technology.

Conceptual Overview

Initially computer programs were written in assembly languages and were executed within a memory space of a single computer (Figure-1). Software written in this fashion was hard to write, maintain and port from one place to another. Procedural languages such as FORTRAN and COBOL provided an additional abstraction level, so that programs can be written that could run on different platforms. Software constituted of different functions providing different functionalities and was controlled by various control structures.

Soon after the advent of networked computing, computer systems could now exchange information over the network and communicate with one another (Glass, 2003). A technique called Remote Procedure Call (RPC) was developed that enabled functions written in one language (FORTRAN, C etc) to invoke other functions residing on different systems and written in different languages. Therefore, different software could communicate with one another over the network across the confinements of a single computer system. A protocol named external data representation (XDR) allowed complex data structures to be transferred between the functions over the network.


Figure-1: Evolution of Web Services

After the rise of object oriented programming, several languages such as C++, Java etc provided higher levels of abstraction and enabled software developers to create software in terms of “objects”. Standards were developed so that objects could communicate with one another over the network in a more neutral way than RPC. Two new distributed computing protocols namely CORBA and DCOM were established in order to support this view. The demerits of such standards were that CORBA and DCOM were incompatible with one another (as being developed by different consortiums). Protocol convertors or bridges were required to enable objects using one standard to communicate with objects using other.

Rise of World Wide Web

Internet technologies followed and transformed the entire landscape of computing and software development. Anyone having a browser could now access tons and millions of information, across the world. Although internet technologies made it easier for consumers to access resources remotely, they didn’t contribute much towards achieving Business Integration. This was largely due to the fact that these technologies didn’t tell much about how to share data in a consistent format and how to share software services.

Where internet technologies made it easier for people to share content across the web, sharing of data and software services was handled by a new array of technologies called Web Services which simplified the integration of complex large scale distributed systems (Ferris & Farrell, 2003).

Web Services - What are these?

Web Service technology is generating a great amount of interest in the e-commerce arena and it is being considered as key to revolutionizing the conventional ways of how businesses use internet to operate and interact with one another (Huang & Chung, 2002). Let us explore the concepts and technologies behind this promising new technology and see what potential benefits can be reaped out of it.

Web services are modular, self contained, self describing software components (developed as per open standards) which are accessible over the internet. Web Services can be used to satisfy business needs of achieving system integration within and across organizational boundaries. A web service doesn’t need to be a feature enriched application on its own, though it can provide some part of the overall business logic. Therefore, a web service can be termed as an application “segment” or still better as an “application enabler” (Gurugé, 2004). This technology can be used in many ways. It can run on desktop systems, handheld devices, embedded into software applications or other systems. Web services can also be used to achieve Business-to-Business (B2B) integration, connecting various organizations in a supply chain or to solve much broader problems pertaining to enterprise application integration (EAI), connecting multiple applications in an organization to other applications outside the organization (Newcomer, 2003). Web Services present a standard way of communicating and interfacing with back-end software systems (database management systems), .NET based applications, Java based (Java 2 platform, Enterprise Edition) applications, adapters to Enterprise Resource Planning (ERP) and Customer Relationship Management (CRM) systems, and various other kind of software applications.

Figure-2: Levels of Integration provided with Web Services

Issues and Challenges

Enterprise wide business integration demands to bring different components of an organization together to work more effectively and efficiently towards achieving organizational goals (Morgon et al., 1990). An integrated methodology characterizes an agile and responsive company that stands out from the conventional organizational models, by being enabled to quickly determine market dynamics and produce more high quality product and services at competitive prices. This requires the organization to integrate people, processes and technology within and along its value chain (Noori & Mavadat, 1998). This need to integrate has strategic importance of developing linkages with different entities within an organization’s value chain and to be able to share useful information. Consequently, such investments result in establishing stronger supply and distribution relationships with suppliers and customers. Within this very context, the role of integration strategy should be to form strong linkages within and across organizational contexts (Sheridan, 1994).

However achieving integration is not a simple process and has underlying issues and challenges associated with it. Let’s examine these issues within the dimensions identified by Noori and Mavadat (1998):

People centered Issues

Since Business Integration results in much tighter linkages amongst different entities having smooth flow of information amongst them, consequently various personnel from the same organization and personnel from other organizations have to interact concurrently from various distinct physical locations. Therefore, a Business Integration implementation requires higher levels of cooperation and coordination amongst people serving in various capacities and roles within and across organization. Often certain personnel hold deep understanding and first-hand knowledge about a specific business process and without their valuable input in terms of knowledge sharing; substantial working benefits from the integration strategy can’t be achieved (Rattner and Reid, 1994). These domain experts assist the people implementing the integration platform, so that more efficient workflows and successful integration could take place. While top management sets the strategic directions, middle management translates the executive vision into quantified objectives which are realized by the low level employees running specific business functions. Key input from the low level employees about non value adding processes would be vital for middle management to reevaluate the objectives and redesign the business processes thus ensuring high conformity to overall organizational business strategy. Thus people to people communication within an organization needs to be widened up.

Process centered Issues

Winograd et al. (1991) suggests one of the resultant implications of a Business Integration strategy is the decentralization of decision making process. As business tends to shift its focus towards being customer demands and needs oriented, employees often have to face customers to resolve their queries. As an integrated system provides comprehensive and detailed customer information to the customer facing employees, they need adequate levels of decision making power to resolve customer queries there and then instead of putting the customer in a vicious cycle.

Furthermore, business often needs to model its processes in terms of interaction with its business partners especially in case of collaborative supply chains. Since this is a model from the organization’s local perception of the interaction, the process model is called “local choreography” (Hofreiter 2008). In case of inter-organizational integration, to achieve end to end process synchronization, local choreographies should match amongst the business partners. Most of the times, that is not the case since a local choreography is developed in-house with the organizational focus. More challenges can be faced in terms of understanding the complexity of such business processes that span beyond the organizational control within integrated paradigms.

Technology centered Issues

Technology behind Business Integration has gone through an evolution of specific need oriented automated processing systems (MRP, MRP-II etc) to complex and more sophisticated solutions such as web services, providing enhanced capabilities for sharing information and serving broader business objectives. Often businesses have a common issue with their technological investments saying that it doesn’t realize the actual business needs to a greater extent or is rigid enough to cater their changing business needs. Hoffman (1992) suggests that designing the overall integration strategy and choosing appropriate technology to back it up as a strategic tool is the key decision. Decisions made here would impinge on the organizational performance as part of the integrated model. Moreover, challenges to develop interoperability amongst different technological platforms running at participating organizations are a natural consequence in Business Integration endeavors. The most important thing that has to be understood here is that investing in technology just for the sake of having newer technology is never worth full. Technology by itself can never resolve your problems; instead it can act as an enabler or a strategic asset that could assist management in making informed decisions (Hoffman, 1992).

Conclusion

Research suggests that web service technology is still an evolving concept that still suffers in terms of performance, reliability, integrity, security and other limitations. This is partly due to the fact that it is based upon maturing and evolving standards such as SOAP and WSDL etc. and mostly because of the gap amongst business requirements and realization of such requirements within web service standards. Such standards are based upon syntactical constructs which do not have much power to represent complex business logic and requirements. Improvements to the standards by semantic enhancements are underway by developments such as semantic web services technologies (Web Service Ontologies) and can be an exciting research area in future. Moreover, integration projects which capitalize on using web services as underlying strategy should start by integrating internal organization wide processes first and as they gain experience and uncover best practices, it would be easy to migrate towards an enterprise wide service oriented architecture that externalizes useful business level services to other partners.

References

Ferris, C. & Farrell, J. (2003) ‘What are Web Services?’, Communications of ACM, [Online] 46(6). Available at: http://portal.acm.org/citation.cfm?id=777335 [Accessed 12 March 2009].

Freivald, J. (2009) ‘Why Service-Oriented Architectures Fail and how to prevent it’, InfoManagement Direct, Available at: http://www.information-management.com/infodirect/2009_111/10015045-1.html [Accessed on 27 March 2009].

Gisolfi, D. (2001) ‘Web services architect part 1: an introduction to dynamic e-business’, IBM, [Online] Available at: ftp://www.software.ibm.com/software/developer/library/ws-arc1.pdf [Accessed on 23 February 2009].

Glass, G. (2002) ‘The Evolution of Web Services’, New York: Prentice Hall, pp. 23-24.

Gurugé, A. (2004) ‘Web Services Theory and Practice’, Burlington: Elsevier Digital Press, pp. 09-13.

Hagel, J. and Armstrong, A. (1997), ‘Net Gain: Expanding Markets through Virtual Communities’, Boston: Harvard Business School Press

Hoffman, K.C. (1992) ‘Management of Enterprise wide systems integration programs’, Proceedings of second international conference on systems integration: held at Morristown, USA, June 15-18, 1992, IEEE, pp. 4-3.

Hofreiter, B. (2008) ‘Registering UML Models for Global and Local Choreographies’, Proceedings of the 10th international conference on Electronic Commerce: held at Innsbruck, Austria, July 10-13, 2008, ACM, Vol. 342.

Huang, Y. & Chung, J.Y. (2003) ‘A Web services based framework for business integration solutions’, Journal of Electronic Commerce Research and Applications, [Online] 2(2003), pp. 15-26.

Markus, M. & Tanis, C. (2000) ‘Multisite ERP Implementations’, Communications of ACM, [Online] 43(4), pp. 42-46.

Morgan, D. Lach, M. & Bushnell, R. (1990) ‘ISDN as an enabler for enterprise integration’, IEEE Communications Magazine, [Online] 28(4), pp. 23-27.

Newcomer, E. (2002) ‘Understanding Web Services’, Boston: Pearson Education, Inc. pp. 02-03.

Noori, H. & Mavaddat, F. (1998) ‘Enterprise Integration: Issues and Methods’, International Journal of Production Research, [Online] 36(8), pp. 2083-2097.

Rattner, L. & Reid, R. (1994) ‘The Information Processing Roles for Mid-level Production Management in Agile Manufacturing’, Proceedings of IEEE International Conference on Humans, Information and Technology: held at San Antonio, USA, October 2-5, 1994, IEEE, pp. 518-524.

Sabki, A., Ahmed, P.K., Hardaker, G. (2004) ‘Developing an e-commerce solution: a case study of TimeXtra’, The Journal of Enterprise Information Management, [Online] 17(5), pp. 388-401.

Sheridan, J.H. (1994) ‘EI: The next plateau’, Industry Week, June 1994 ed., pp. 30-38.

Weiber, R. and Kollman, T. (1998), ‘Competitive advantages in virtual markets-perspectives of information-based marketing in Cyberspace’, European Journal of Marketing, [Online] 32(8), pp. 12-15.

Winograd, T., Newman, N., & Yim, P. (1991) ‘Including people in computer integrated manufacturing designs’, Proceedings of the International Conference on Computer Integrated Manufacturing (ICCIM): held at Singapore, October 2-4, 1991, pp. 145- 148.

Yusuf, Y., Gunasekaran, A., Abthrope, M.S. (2003) ‘Enterprise Information Systems Project Implementation: A Case Study of ERP in Rolls-Royce’, International Journal of Production Economics, 87(2004), pp. 251-266.



Wednesday 18 February 2009

Business Modelling in context of Inter-organizational business collaborations

Process Oriented View

Historically businesses used to organize themselves in terms of Functional Areas. More focus was laid on the activities and tasks performed by each functional area and how to optimize these activities within that functional area. Each functional area was responsible for carrying out specific Business Functions as per its defined activities distribution. Such a view of an organization can be seen in Table-1. As the prime focus of businesses was to serve the customer, this very structure had inherent flaws. Customers were never interested in knowing how functional areas are laid out, rather they asked for quality of products and services.


Organizations started thinking in terms of business processes instead of business functions. Hammer & Champy (1993) defined a business process as “a collection of activities that takes one or more kinds of input and creates an output that is of value to the customer”. Typical examples of such processes include Customer Orders, Buying Raw Material from Suppliers, and Delivery of Goods to Customers etc. The major advantage of this approach was that it focused the organization from customer’s perspective where the customer could be internal or external. Since the process can span across different functional areas (customer order has to go through sales, accounting, procurement and distribution), efforts had to be made to optimize business functions to better support the process. Thus a new paradigm of process oriented business organizations came into existence.

Rationale for Organizations to Collaborate

Walter & Petr (2000) have defined the term collaboration as “working together”. As per newer developments in terms of technology and business orientation, businesses now have to enhance their footprints into global markets and develop better ways to compete. Concepts such as e-Commerce and virtual organizations have lead business processes often cross organizational boundaries (Hongxiu et al. 2007). Management concepts such as Business Process Management, developed to better align organizational processes towards customer needs have shifted their focus from intra-organizational process management towards inter-organizational process focus. An inter-organizational process as defined by Birgit Hofreiter (2008) “is an organized group of related activities carried out by multiple organizations to accomplish a common business goal”. Such processes may include Raw Material Purchasing (supplier’s involvement), Goods Shipment (transporting agencies involvement) and Sales (customer’s involvement).

Initial Approaches Used to Achieve Collaboration

Concepts such as Electronic Data Interchange (EDI) were developed around mid 1960s in order to enable organizations exchange information with one another. The main aim was to eliminate paper based data exchange amongst organizations. This approach was based on structured data representation (mutually agreed amongst the business partners) in order to exchange business information (Sladek & Wolski, 1996). This approach had an inherent flaw that as many alliances were made with various businesses, different EDI interfaces were encountered due to lack of one universal standard. In 1970’s, efforts were made to sponsor a shared EDI system, but the problem persisted due to different scope limitations and standards between various sectors of one industry and their respective EDI systems.

Role of Business Modelling

Concepts surrounding Business Process Collaboration can never reach their full potential in case of data centric cooperation methodology mainly because it cannot capture the dynamics of the collaboration, nor it can encapsulate the necessary structures representing the collaboration. This gap could only be filled by a mechanism powerful enough to serve the complex need of documenting business structure and dynamics within and across organizational boundaries, in relation to process flows (Corallo et al., 2007). A model is a simplified abstract view of a complex reality. Talking in terms of business domains, model has the power of representing how different concepts and business functions inside the business are laid out (business model) and how relevant business requirements are being met by the information system (software model). Therefore, Business Modelling, having relevant elements to capture various details, can be one candidate mechanism to be employed in order to meet the needs of understanding complexities involved in inter-organizational collaborations. Since we are focusing on “process oriented” collaborations, the model type that would be most appropriate in this context would be Business Process Models.

Business Process Modelling

It the lights of rapidly changing business environment, organizations have embarked procedures to deal with change through an approach called “change management” (Giaglis & Doukidis, 1996). Business Process Modelling (BPM) has a widespread use while dealing with any of the change management or business process management needs. Different tools and techniques have been proposed for carrying out business process modeling (UML Activity Diagrams, BPMN, Petri Net, IDEF3 etc). Within the context of modelling inter-organizational business processes, Business Process Models seems to be a perfect fit in order to analyze process flows and dependencies. Further classifications within the Business Process Models are also available to represent different granularity of business process model (Kavakli, 2004).

A business process model can represent the internal process flows that are private to the organization and this can be termed as “orchestration”. Orchestration can be termed as the sequence and underlying conditions in which a particular business process calls its components in order to realize a business goal within an enterprise (Hofreiter 2008). Furthermore, a business process model can represent global process aspects that expand beyond the organizational boundary; this can be termed as “choreography”. Choreography can be termed as a business process in business to business collaboration that describes the flow of interaction amongst the participating business partners.

Possible Challenges to BM Approach

Local choreography is the term that can be used to define how a certain business models its processes in terms of interaction with its business partners. Since this is modelled from the organization’s local perception of the interaction, the choreography is called “local choreography” (Hofreiter 2008). In case of inter-organizational collaboration, to achieve end to end process synchronization, local choreographies should match amongst the business partners. Most of the times, that is not the case since a local choreography is developed in-house with the organizational perspective. More challenges can be faces in terms of understanding the complexity of such business processes that span beyond the organizational control. The process interdependencies in terms of resources across several organizations can also add towards the challenge of inter-organizational business process modelling (Giaglis & Doukidis, 1996).

How to resolve the Challenges

In order to resolve the problem of incoherent local choreographies, the concept of “global choreography” has been introduced. A global choreography explains the interaction from a neutral perspective and can potentially serve as an agreement between the collaborating partners to derive its own local choreography based upon the generally accepted global choreography (Hofreiter 2008).