collaboration in design and manufacturing using web services

Upload: shoukat-ali

Post on 30-May-2018

219 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/14/2019 Collaboration in Design and Manufacturing using Web Services

    1/62

    Collaboration in Design and Manufacturingusing Web Services

    Thesis submitted in partial fulfillment of the requirementsfor the degree of

    Master of Technology(Manufacturing Systems Engineering)inMechanical Engineering2003- 2005

    by

    Shoukat Ali (03ME6402)

    Under the Guidance of

    Prof. M. A. Faruqi

    Department of Mechanical Engineering,

    Indian Institute of Technology, Kharagpur,

    India.

    April, 2005.

  • 8/14/2019 Collaboration in Design and Manufacturing using Web Services

    2/62

    .

    Departme nt of Mec hanica l Engineering ,

    Ind ian Institute of Tec hnolog y,

    Kharagpur-721302.

    Certificate

    This is to certify tha t the p rojec t entitled Collaboration in

    Design and Manufacturing using Web Services is bonafide record

    work carried by Mr. Shoukat Ali, Roll No. 03ME6402, under my

    supervision and guidance for partial fulfillment of the requirements

    for the degree of Master of Tec hnolog y in Manufacturing Systems

    Engineering during the academic session 20042005 in the

    Department of Mechanical Engineering, Indian Institute of

    Tec hnolog y, Kha ragpur.

    Date: Prof. M A Faruqi

    Plac e: Kha ragpur Dep tt. of Mec h. Engg.,

    IIT Kha ragpur.

  • 8/14/2019 Collaboration in Design and Manufacturing using Web Services

    3/62

    Certificate of Examination

    This is to c ertify that we ha ve examined the thesis entitled

    Collaboration in Design and Manufacturing using Web

    Services submitted by Mr. Shoukat Ali (Roll no. 03ME6402), a

    postgraduate student of Mec hanic al Enginee ring with

    spec ia liza tion in Manufac turing SystemsEngineering(ME-4).We

    hereby accord our approval of it as a study carried out and

    presented in manner required for its acceptance in partial

    fulfillment for the Post Graduate Degree for which it has been

    sub mitted . This approva l does not nec essa rily endorse o r

    accept every statement made, opinion expressed or

    conclusion drawn as recorded in this thesis. It only signifies the

    acceptance of the thesis for the purpose for which it issubmitted.

    Examiner Supervisor

    DDeeppaarrttmmeenntt ooffMMeecchhaanniiccaall EEnnggiinneeeerriinngg

    IInnddiiaann IInnssttiittuuttee ooffTTeecchhnnoollooggyy

    KKhhaarraa uurr--772211330022

  • 8/14/2019 Collaboration in Design and Manufacturing using Web Services

    4/62

  • 8/14/2019 Collaboration in Design and Manufacturing using Web Services

    5/62

    _____________________________________________________________________Collaboration in Design and Manufacturing using Web Services

    i

    Table of Contents

    Abstract

    1. INTRODUCTION....11.1Introduction..11.2Motivation21.3Organization of the Thesis3

    2.

    LITERATURE SURVEY..42.1Enterprise Integration...42.2Internet based Distributed Design and Manufacturing.52.3Service Oriented Architecture (SOA) for Collaborative services92.4Orchestration and Choreography in Web Services.11

    3. ORCHESTRATION AND CHOREOGRAPHY OFWEB SERVICES EMPLOYED IN DESIGN

    AND MANUFACTURING.16

    3.1 Objective of the present work16

    3.2 Statement of the problem...17

    3.3 Software tools used in the study.18

    3.4 Methodology of the study..20

    3.5 Conclusion..31

    4. RESULTS AND CONCLUSIONS..324.1Results and Discussion...324.2Conclusions324.3Scope for future work.33

    5. REFERENCES.346. APPENDICES..37

    A-1 Overview of Web Services...37

  • 8/14/2019 Collaboration in Design and Manufacturing using Web Services

    6/62

    _____________________________________________________________________Collaboration in Design and Manufacturing using Web Services

    ii

    A-2 Java source code of CastingBuyer Web Service...47

    A-3 WSDL Description of CastingBuyer Web Service...52

    A-4 BPEL code for the process53

    List of Figures

    Fig.2.1 Architectures for Enterprise Integration.11

    Fig.2.2 Web services orchestration and choreography...14

    Fig.2.3 Standards for Orchestration and Choreography..15

    Fig.3.1 Overview of Die Casting Design and Manufacturing process18

    Fig.3.2 Conceptual model of the orchestration process......19

    Fig.3.3 Main page of Apache AXIS21

    Fig.3.4 List of deployed Web Services...23

    Fig.3.5 WSDL description of service CastingBuyer...25

    Fig.3.6 SOAP Message sent to the CastingBuyer service from the system....26

    Fig.3.7 Process flow of die Design and Manufacturing process in

    BPEL Maestro orchestration engine...27

    Fig.3.8 SOAP message overview exchanged among the services in the process...28

  • 8/14/2019 Collaboration in Design and Manufacturing using Web Services

    7/62

    _____________________________________________________________________Collaboration in Design and Manufacturing using Web Services

    iii

    Abstract

    Efforts from diverse domains are made to use the Web as a platform of integration for all

    service components. Design and Manufacturing (D&M) process area being no exception.

    Leading manufacturing companies recently have announced plans for web-based systems

    to coordinate transactions with their suppliers. If the design, production and delivery of

    products have to be done in collaboration with corporate departments, suppliers, resellers

    and customers, potential manufacturing partners should be identified, and design

    activities and production plan should be carried out concurrently based on the design

    requirements and manufacturing constraints. Such process involves many complex tasks,

    and each task can be either performed in the same organization, of be outsourced. The

    recent developments in IT technology, specifically e-business are useful to coordinate

    these activities.

    However, current e-business tools tend to focus on transactions involving standard parts

    and products among network of suppliers. Therefore, e-business tools require research

    focusing on creating business processes from composite Web services, and executing

    processes that can interact with both internal and external Web services.

    This study looks into creation of a service from composite Web services using

    Orchestration and Choreography offered by Web services. Business Process Execution

    Language for Web Services (BPEL4WS) or BPEL (for short) was used to orchestrate and

    choreograph a Die Design and Manufacturing process, in which four Web Services were

    involved (viz. Die Casting Buyer, Die Manufacturer, Die Design Analyzer, and Casting

    Manufacturer). The combined process can also be used as a Web Service for further use.

    Collaboration was achieved in the above said Design and Manufacturing process using

    Java based, open domain software tools such as Apache Tomcat, Apache AXIS, and

    Parasoft BPEL Maestro.

  • 8/14/2019 Collaboration in Design and Manufacturing using Web Services

    8/62

    CHAPTER-1

    INTRODUCTION

    1.1 Introduction

    Efforts from diverse domains are made to use the Web as a platform of integration for all

    service components. Design and manufacturing (D&M) process area being no exception.

    Leading manufacturing companies recently have announced plans for web-based systems

    to coordinate transactions with their suppliers.

    Potential manufacturing partners should be identified, and design activities and

    production plan should be carried out concurrently based on the design requirements and

    manufacturing constraints. Such a process involves many complex tasks, and each task

    can be either performed in the same organization, or be outsourced. The recent

    developments in IT technology, specifically e- business are useful to coordinate these

    activities.

    However, current e-business tools tend to focus on transactions involving standard parts

    and products among network of suppliers. Therefore, e-business tools require research

    focusing on creating business processes from composite Web services, and executing

    processes that can interact with both internal and external Web services. Web services are

    generally accepted as applications that interact with each other using web standard

    interfaces, which include three major functionalities: description, discovery, and

    communication. They offer high interoperability between cross-organizational

    components in a loosely-coupled way.

    The coordination of collaborating low level service is often mentioned as next step in the

    development of Web service. Web Service choreography working groups in World Wide

    Web Consortium (W3C) visualized that a framework for creating business process should

    be able to compose and describe the relationship between lower-level services. Several

    Web Service choreography languages inspired by industry have been proposed, such as

    BPEL4WS, BPML, BPSS, and WSFL and OWL-S. These efforts focus on defining the

    orchestration and choreography between Web Services to create business processes and

    organizing services into a workflow.

    _____________________________________________________________________Collaboration in Design and Manufacturing using Web Services

    1

  • 8/14/2019 Collaboration in Design and Manufacturing using Web Services

    9/62

    This study looks into possible organization of Web Services into workflow using

    Orchestration and Choreography offered by Web Services. Business Process Execution

    Language for Web Services (BPEL4WS) or BPEL (for short) was used to orchestrate and

    choreograph a Die Design and Manufacturing process, in which four Web Services were

    involved (viz. Die Casting Buyer, Die Manufacturer, Die Design Analyzer, and Casting

    Manufacturer). The combined process can also be used as a Web Service for further use.

    1.2 Motivation

    The practice of geographically distributed design and manufacturing is ever increasing,

    yet is often inefficient. The problems with collocated design and manufacturing such as

    insufficient information, support tools with inappropriate functionality and people

    conflicts are exacerbated by distribution, while a whole new problem set specifically

    related to distribution adds to the significant challenges. Put simply, an increase in

    distributed space and time between members of a design team results in problems that

    traditional approaches have failed to address adequately.

    The growth of distributed design teams and distributed work in general in the past few

    years has been facilitated due to advances made in the computing world and particularlythe creation and growth of the Internet. The present industrial climate also results in the

    growth of distributed work. Continual technological advancement is set against a

    backdrop of international mergers, takeovers and partnerships which invariably lead to

    more distributed collaboration of formal and informal work. Further, recent movements

    and concepts within the academic and industrial world such as Supply Chain

    Management, Collaborative Product Commerce, Change Management, the increase in

    outsourcing and the concept of the extended enterprise, promote the growth of distributed

    work. The realization that collaborators external to the organization or at least at different

    locations have higher levels of expertise continues to drive this increase. Although

    distributed design and manufacturing practice is forced upon many organizations due to

    the current industrial climate, the potential benefits of leveraging resources from different

    locations often pre-empts a decision to design and manufacture in a distributed fashion.

    The motivation for conducting research into Web services based design and

    manufacturing is summarized in three ways:

    _____________________________________________________________________Collaboration in Design and Manufacturing using Web Services

    2

  • 8/14/2019 Collaboration in Design and Manufacturing using Web Services

    10/62

    Value: the benefits of distributing the design and manufacturing processes and teams are

    potentially great;

    Incidence: the level of distributed design and manufacturing is increasing dramatically;

    Problems: current problems with distributed design and manufacturing are rarely

    realized.

    1.3 Organization of the Thesis

    The survey of relevant literature on Distributed Design and Manufacturing, Enterprise

    Integration, and Orchestration and Choreography in Web Services has been presented in

    Chapter 2. Description of Die Design and Manufacturing process and its orchestration is

    presented in Chapter 3. Finally, Chapter 4 includes results and conclusions.

    _____________________________________________________________________Collaboration in Design and Manufacturing using Web Services

    3

  • 8/14/2019 Collaboration in Design and Manufacturing using Web Services

    11/62

    CHAPTER-2

    Literature Survey

    2.1 Enterprise Integration

    Nickerson et al. [1] established that enterprise integration needs to occur at many

    technical and organizational levels. They further commented that integrated enterprise of

    the future will tie together all existing applications, so that data from one application can

    be easily used in another. Business Processes, which may stretch across different

    applications, will be combinable, so the output from one will be input to another. The

    integration mechanisms will not create performance bottlenecks. And the integrated

    enterprise will be easy to change. Further they identified four current trends in the quest

    for the ideal integrated enterprise system as: overall frameworks are preferred to point

    solutions, loose coupling is more popular than tight coupling, XML is driving out

    customized file formats, and industry-wide efforts are driving internal efforts. They

    pointed out the de facto mechanisms of integration as: integration using files, Remote

    Procedure Calls (RPC), ERP integration, and integration using consolidated databases.

    They also described some newer mechanisms as: publish/subscribe on a broker,

    Enterprise Application Integration (EAI), web services, agent-based methods, andworkflow.

    One of the newer mechanisms (Web services) is used in the present work.

    Johannesson et al. [2] compared three architectures for enterprise application integration

    viz. point-to-point, message broker, and process broker. In point-to-point solution every

    application is directly connected to every other application, (see Fig. 2.1). This solution

    could work for a small number of applications, but as the number of applications

    increases, the number of connections quickly becomes overwhelming. The Message

    (a) (b) (c)

    Fig.2.1 (a) Point-to-point architecture, (b) Message Broker architecture, and (c) Process Broker architecture.

    _____________________________________________________________________Collaboration in Distributed Design and Manufacturing using Web Services

    4

  • 8/14/2019 Collaboration in Design and Manufacturing using Web Services

    12/62

    Broker architecture reduces this complexity, (see Fig. 2.1). The main idea is to reduce the

    number of interfaces by introducing a central Message Broker and thereby make it easier

    to support the interfaces. The Process Broker, (see Fig. 2.1), is an extension of the

    Message Broker. In addition to handling format conversions, the Process Broker also

    encapsulates the process logic for connecting applications.

    They also identified problems in modeling application integration as: Unstructured and

    complex process models, Complex data models, Redundancy, Incomplete models, and

    Communication among stakeholders. These problems were addressed by a number of

    instruments: speech act theory, process classification, design guidelines, and a

    communication oriented language, BML. Business Model Language (BML) focuses on

    describing interactions between systems. It can be used in different phases of a systems

    life cycle: in feasibility analysis, in requirement specification, in the design and

    implementation phase, and even in the operation phase. It can describe the structure as

    well as the behavior of a system as it uses a timer component.

    BML was successful in modeling business processes, but it is not machine interpretable.

    2.2 Internet based Design and Manufacturing (D&M)

    Chung et al. [3] proposed a system called MIDAS (Manufacturing Integration and Design

    Automation System) which can be viewed as an extension of agent-based approach. Each

    task behaves as an agent that carries out a specified task by selecting an appropriate tool

    based on constraints, input data and assigned resources. If the result of the task does not

    meet the requirements, the agent must select other alternative or input data. Modules of

    MIDAS, written in Java, communicate with each other using RMI. Process databases,

    servers, and external applications that are distributed over various companies can be

    integrated into the system transparently to users. XML is utilized to represent task

    knowledge and execution status. The core of MIDAS is the process grammar, which

    provides the theoretical foundation to represent, manipulate and execute D&M processes.

    Presence of process grammar supports the iterative nature of engineering process and

    provides a layered approach to information modeling.

    This system is very close to the web services architecture as it uses RMI. It uses a number

    of servers viz. communication server, site proxy server, and user info server.

    _____________________________________________________________________Collaboration in Distributed Design and Manufacturing using Web Services

    5

  • 8/14/2019 Collaboration in Design and Manufacturing using Web Services

    13/62

    Qureshi et al. [4] introduced a methodology called Design for Facility over Internet

    (DFF). This methodology provides an Internet-based environment for designers to

    perform manufacturability analysis of product designs with respect to the capabilities of

    existing manufacturing facilities, upfront into the design process. The DFF system

    analyzes the parametric design with respect to the fixturing (machine datums) capabilities

    and generates suggestions for a designer, to modify his design if required, to fit the

    capabilities of specified facilities. DFF system is implemented using the Java

    programming language and the main GUI (graphical interface) is eventually converted

    into Java servlet, for actual application over the internet.

    As this system uses only Java and no XML Java class has to be written for each and every

    specific operation (e.g. to retrieve critical design parameters from the input design file, to

    create a feasible region for each machining datum, to enlist capability databases etc.).

    Leito et al. [5] proposed architecture for the development of distributed manufacturing

    applications based in the Holonic Manufacturing Systems (HMS) and Bionic

    Manufacturing Systems (BMS) concepts and which uses an agent based approach to

    implement those concepts. The proposed agent-based architecture has modules viz.

    Decision making module, Co-operation module, Communication module, Local control

    and Monitoring module, Physical communication and operational control modules, and

    Operational control module. These all modules work in synchrony with a Knowledge

    Base module in the middle. The implementation of this agent-based architecture uses new

    and powerful technologies, such as JAVA and CORBA environments, network

    capabilities, Internet and web-based interfaces, communication standards, such as

    KQML, etc.

    Sequin et al. [6] proposed a Java based, Internet-based paradigm for design and

    fabrication in a global, networked CAD/CAM environment. They established an Internet

    based Mechanical MOSIS service. Some specific results and achievements include:

    1. SIF_DSG, a Solids Interchange Format for Destructive Solids Geometry, for the

    transmittal of feature-based descriptions of mechanical parts that can be fabricated on a

    three-axis milling machine, has been defined and implemented.

    _____________________________________________________________________Collaboration in Distributed Design and Manufacturing using Web Services

    6

  • 8/14/2019 Collaboration in Design and Manufacturing using Web Services

    14/62

    2. A Web-based computer-aided design front-end, called WebCAD, has been developed

    in Java, with a user interface that should cater to novice designers who are neither

    familiar with milling machines nor with industrial-strength CAD packages.

    3. A rudimentary Manufacturing Advisory Service (MAS) program has been

    implemented, which assists the novice designer in selecting an appropriate manufacturing

    technology for a desired part, based on the size of the part, some of its key geometrical

    features, strength requirements, material preferences, anticipated fabrication volume, and

    other data entered into a query form.

    4. A back-end processing chain consisting of a macro-planner, a micro-planner, and a

    tool-path generator has been developed. It can handle most of the part designs coming

    from the WebCAD tool automatically.

    Muammer et al. [7] introduced an e-Manufacturing architecture, and outlined its

    fundamental requirements and elements as well as expected impact to achieve high-

    velocity and high-impact manufacturing performance. Web- enabled and infotronics

    technologies play indispensable roles in supporting and enabling the complex practices of

    design and manufacturing by providing the mechanisms to facilitate and manage the

    integrated system discipline with the higher system levels such as SCM and ERP. For

    future work they pointed out research needs in the fields as: data mining, reduction and

    data-to-information-to-knowledge conversion tools, distributed and web-based computing

    and optimization and synchronization systems for dynamic decision making.

    For the future work they indicated web services fulfill their needs.

    Wright et al. [8] proposed a networked manufacturing service named CyberCut. They

    said CyberCut will be "an experimental fabrication testbed" for an Internet-accessible,computerized machining service. Client-designers will be able to create mechanical

    components, beginning with a CAD system of their choice, and submit appropriate files

    to the server at Berkeley for process planning. CyberCut will utilize an existing open-

    architecture, computerized machine tool for fabrication. Rapid tool-path planning, novel

    fixturing techniques, and sensor-based precision machining techniques will allow the

    client- designer to take delivery, in a short time, of a component with a high-strength and

    tight- tolerance {e.g. +/- 0.002 inch (0.05mm)}. As the testbed grows, other services such

    _____________________________________________________________________Collaboration in Distributed Design and Manufacturing using Web Services

    7

  • 8/14/2019 Collaboration in Design and Manufacturing using Web Services

    15/62

    as laser-cutting and precision machining will be included. There will also be some

    instances where the design has a complex shape that cannot be prototyped by machining.

    Then there will be need to evaluate other Solid Free Form (SFF) technologies for the

    downstream proto type realization. To facilitate this step, we will develop a bureaux

    called a "Manufacturing Analysis Service" that will evaluate the design for fabrication by

    Stereolithography or Selective Laser Sintering, and pass it on to our industrial

    collaborators for fabrication.

    Shyamsundar et al. [9] developed a collaborative Product Assembly Design (cPAD) tool

    that utilizes a compact and comprehensive representation of product assembly, and servesas an integrated interface through which product assembly modeling can be performed.

    The cPAD system proposed has the following key features:

    Any designer connected to the Internet has ubiquitous access to the product modeland can interact with the product design through the client interface. A Java based

    client interface is used, since Java code is platform independent.

    This design introduces a new paradigm for collaborative assembly design. Forexample, instead of installing the CAD software on every machine, the designeruses the CAD software which is packaged into a CAD server. The designer

    accesses CAD and other design related computer tolls through the client. This

    establishes a central point of control for product design and is therefore ideal for

    collaboration. Hence, data security and integrity can be maintained easily. The

    mapping between the primary and secondary representations of the AREP allows

    for transfer of data without loss of functionality. This enables real time editing of

    the product models.

    This system is an integrated tool that facilitates not only visualization of productmodel, but also other activities like modification of the product model, reuse of

    existing models and specification of assembly features. In general, visualization is

    an activity performed by a much larger part of a company, when compared to

    editing or modification of the CAD models. The cPAD technology proves that

    existing bandwidth can support collaborative design.

    The system architecture is extensible. Due to the open architecture of the system,additional design services can be added to the system. Technology proposed in

    _____________________________________________________________________Collaboration in Distributed Design and Manufacturing using Web Services

    8

  • 8/14/2019 Collaboration in Design and Manufacturing using Web Services

    16/62

    this research has adequately proved the ability to provide an open architecture for

    collaboration.

    However, this system uses too much servers i.e. an Intelligent Server as broker and five

    application servers viz. Web server, Solid Modeling server, Database server,

    Visualization server, and Catalog Database server.

    2.3 Service Oriented Architecture (SOA) for Collaborative services

    Jrstad et al. [10] proposed and investigated the use of SOA in the construction of

    collaborative services. Introducing SOA they defined it as:

    A Service Oriented Architecture (SOA) is a form of distributed systems architecture that

    is typically characterized by the following properties:

    Logical view: The service is an abstracted, logical view of actual programs,databases, business processes, etc., defined in terms of what it does, typically

    carrying out a business-level operation.

    Message orientation: The service is formally defined in terms of the messagesexchanged between provider agents and requester agents, and not the properties of

    the agents themselves. The internal structure of an agent, including features such

    as its implementation language, process structure and even database structure, are

    deliberately abstracted away in the SOA: using the SOA discipline one does not

    and should not need to know how an agent implementing a service is constructed.

    A key benefit of this concerns so-called legacy systems. By avoiding any

    knowledge of the internal structure of an agent, one can incorporate any software

    component or application that can be "wrapped" in message handling code that

    allows it to adhere to the formal service definition.

    Description orientation: A service is described by machine-processable meta data.The description supports the public nature of the SOA: only those details that are

    exposed to the public and important for the use of the service should be included

    in the description. The semantics of a service should be documented, either

    directly or indirectly, by its description.

    Granularity: Services tend to use a small number of operations with relativelylarge and complex messages.

    _____________________________________________________________________Collaboration in Distributed Design and Manufacturing using Web Services

    9

  • 8/14/2019 Collaboration in Design and Manufacturing using Web Services

    17/62

    Network orientation: Services tend to be oriented toward use over a network,though this is not an absolute requirement.

    Platform neutral: Messages are sent in a platform neutral, standardized formatdelivered through the interfaces. XML is the most obvious format that meets thisconstraint.

    A service in SOA is an exposed piece of functionality with three properties:

    1. The interface contract to the service is platform independent.

    2. The service can be dynamically located and invoked.

    3. The service is self-contained. That is, the service maintains its own state.

    They classified the collaborative services as follows:

    Knowledge and resource sharing: In collaboration it is crucial to share knowledgeand resource together. By share it is meant several things:

    o Presentation: the same knowledge or resource is presented such that allthe collaborators can view, experience and interpret it in the same way.

    o Generation and modification: All the collaborators should be enabled togenerate and modify knowledge and resources in such way that

    consistency and integrity are preserved

    o Storage: the knowledge or resource must be stored safely without affectingthe availability.

    Communication and personal interaction: In collaboration, communication andinteraction between collaborator are crucial to avoid misunderstand and mismatch.

    Communications can be classified in several ways:

    o Synchronous (e.g. telephony, chat, sms, etc.) versus asynchronous (mail,newsgroup, forum, etc.)

    o Channels: Voice, text, multimedia Virtual rooms: All the collaborators shall share the same context in the same

    manner as they are located in the same room. Examples are Team room,

    Electronic Classroom.

    Organization management: It is also necessary to manage dynamically thecollaboration team itself and to distribute information about the team to all the

    members in an efficient manner. The services include:

    o Project/ team managemento Calendar, time scheduling, milestones, mail exploder.

    _____________________________________________________________________Collaboration in Distributed Design and Manufacturing using Web Services

    10

  • 8/14/2019 Collaboration in Design and Manufacturing using Web Services

    18/62

    They further mentioned that a collaborative service can be represented by four

    components: ServiceLogic, ServiceData, ServiceContentand ServiceProfile

    Further, ServiceLogic must be equipped with specific collaborative functions as follows:

    1. Locking mechanismSeveral types of locks are intent, shared, update, and exclusive.

    2. Presentation control3. User Presence management4. Organization management5. Communication control

    The generic model of collaborative service is mapped to the Service Oriented

    Architecture. To alleviate the tasks of the developers, the basic collaborative services,

    Locking, Presentation Control, User Presence Management, Organization Management

    and Communication Control are gathered into a Collaborative Service Layer and made

    available to the applications. A collaborative service can be built by composing or by

    orchestrating the collaborative services together with other services.

    2.4 Orchestration and Choreography in Web Services

    Peltz Chris [11] investigated the present scenario of Orchestration and Choreography in

    Web Services. Collaboration in Web services is achieved through Orchestration and

    Choreography which are described below:

    Orchestration: Refers to an executable business process that may interact with both

    internal and external Web services. Orchestration describes how Web services can

    interact at the message level, including the business logic and execution order of the

    interactions. These interactions may span applications and/or organizations, and result in

    a long-lived, transactional process. With orchestration, the process is always controlled

    from the perspective of one of the business parties.

    Choreography: More collaborative in nature, where each party involved in the process

    describes the part they play in the interaction. Choreography tracks the sequence of

    messages that may involve multiple parties and multiple sources. It is associated with the

    public message exchanges that occur between multiple Web services.

    _____________________________________________________________________Collaboration in Distributed Design and Manufacturing using Web Services

    11

  • 8/14/2019 Collaboration in Design and Manufacturing using Web Services

    19/62

    Orchestration differs from choreography in that it describes a process flow between

    services, controlled by a single party. More collaborative in nature (see Figure 2.2),

    choreography tracks the sequence of messages involving multiple parties, where no one

    party truly "owns" the conversation. This article highlights key technical requirements for

    Web services orchestration and choreography, and point out key standards used to meet

    these needs.

    Fig.2.2 web services orchestration and choreography

    Technical Requirements for Orchestration and Choreography

    Before introducing the standards, it's important to define the technical requirements for

    orchestrating Web services. The following requirements are important for both the

    language and the underlying infrastructure that supports it:

    Flexibility: One of the most important considerations is the flexibility offered by the

    language. Flexibility can be achieved by providing a clear separation between the process

    logic and the Web services invoked. This separation can usually be achieved through an

    orchestration engine that handles the overall process flow. With this flexibility, an

    organization can easily swap out services as business needs change.

    Basic and structured activities: An orchestration language must support activities for

    both communicating with other Web services and handling workflow semantics. One can

    think of a basic activity as a component that interacts with something external to the

    process itself. In contrast, structured activities manage the overall process flow,

    specifying what activities should run and in what order.

    _____________________________________________________________________Collaboration in Distributed Design and Manufacturing using Web Services

    12

  • 8/14/2019 Collaboration in Design and Manufacturing using Web Services

    20/62

    Recursive composition: A single business process can interact with multiple Web

    services. However, a business process can itself be exposed as a Web service, enabling

    business processes to be aggregated to form higher-level processes.

    In addition, both Web services orchestration and choreography must support some basic

    requirements for managing the overall integrity and consistency of the interactions. These

    requirements include:

    Persistence and correlation: The ability to maintain state across Web services

    requests is an important requirement, especially when dealing with asynchronous Web

    services. The language and infrastructure should provide a mechanism to manage data

    persistence and correlate requests in order to build higher-level conversations.

    Exception handling and transactions: Orchestrated Web services that are long-

    running must also manage exceptions and transactional integrity. For example,

    resources cannot be locked in a transaction that runs over a long period of time.

    Standards for Collaboration in Web Services

    The two standards discussed here - the Web Service Choreography Interface (WSCI) and

    Business Process Execution Language for Web Services (BPEL4WS) - are designed to

    reduce the inherent complexity of connecting Web services together. Without them, an

    organization is left to build proprietary business protocols that shortchange true Web

    services collaboration.

    WSCI

    WSCI defines an extension to WSDL for Web services collaboration. Initially authored

    by Sun, SAP, BEA, and Intalio, it was recently published as a W3C note. WSCI is a

    choreography language that describes the messages exchanged between Web services that

    participate in a collaborative exchange. A key aspect of WSCI is that it describes only the

    observable behavior between Web services. It does not address the definition of anexecutable business process.

    A single WSCI interface describes only one partner's participation in a message

    exchange. As Figure 2.3 illustrates, WSCI choreography would include a set of WSCI

    interfaces, one for each partner in the interaction. In WSCI, there is no single controlling

    process managing the interaction.

    WSCI can be viewed as a layer on top of the existing Web services stack. Each action in

    WSCI represents a unit of work, which typically would map to a specific WSDL

    _____________________________________________________________________Collaboration in Distributed Design and Manufacturing using Web Services

    13

  • 8/14/2019 Collaboration in Design and Manufacturing using Web Services

    21/62

    operation. WSCI can be thought of as an extension to WSDL, describing how the

    operations can be choreographed. In other words, WSDL describes the entry points for

    each service, while WSCI would describe the interactions among these WSDL

    operations.

    WSCI defines an tag for specifying a basic request or response message. Each

    activity specifies the WSDL operation involved and the role being played by the

    participant. External services can then be invoked through the tag. A wide variety

    of structured activities are supported, including sequential and parallel processing and

    condition looping. WSCI also introduces an activity, used to indicate that the

    specific actions have to be performed, but not in any particular order.

    BPEL4WS

    The BPEL4WS standard represents a convergence of ideas originally proposed by two

    early workflow languages, XLANG and WSFL. Microsoft, IBM, Siebel Systems, BEA,

    and SAP authored the 1.1 release of the specification in May 2003. It provides an XML-

    based grammar for describing the control logic required to coordinate Web services

    participating in a process flow and is layered on top of WSDL, with BPEL4WS defining

    how the WSDL operations should be sequenced.

    BPEL4WS provides support for both abstract business protocols and executable business

    processes. A BPEL4WS business protocol specifies the public message exchanges

    between parties. Business protocols are not executable and do not convey the internal

    details of a process flow, similar to WSCI. An executable process models the behavior of

    participants in a specific business interaction, essentially modeling a private workflow.

    Executable processes provide the orchestration support described earlier, while the

    business protocols focus more on Web services choreography.

    The BPEL4WS specification supports basic activities for communicating with Web

    services. The typical scenario is that there is a message received into a BPEL4WS

    executable process. The process may then invoke a series of external services to gather

    additional data, and then respond back to the requestor. In Figure 2.3, the ,

    , and messages all represent basic activities for connecting the services

    together.

    _____________________________________________________________________Collaboration in Distributed Design and Manufacturing using Web Services

    14

  • 8/14/2019 Collaboration in Design and Manufacturing using Web Services

    22/62

  • 8/14/2019 Collaboration in Design and Manufacturing using Web Services

    23/62

    CHAPTER-3

    Orchestration and Choreography of Web Servicesemployed in Design and Manufacturing

    3.1 Objective of the present work

    After going through an extensive literature survey (presented in Chapter 2) it is evident

    that the propositions made by various researchers lack in one or other way. Chung et al.

    [3] proposed a system called MIDAS (Manufacturing Integration and Design Automation

    System) which had different modules written in Java and which communicated with each

    other using RMI (Remote Method Invocation), so it was very close to Web Services as

    Web Services also use RMI to communicate sometimes. They used a process grammar

    which supported the iterative nature of engineering processes and layered approach to

    information modeling. However, they had to use many servers viz. communication

    server, site proxy server, and user info server which added to the complexity of the

    proposed system. The system was an extension of agent based client-server architecture

    but Web Services are purely peer-to-peer. Similarly, Qureshi et al. [4] proposed Designfor Facility over Internet (DFF) methodology to provide an environment for designers to

    perform manufacturability analysis of product designs. This system was distributed

    through the Java servlets. The process can not be automated as it uses only Java classes

    and not XML. Machine can understand data transferred through XML. Leito et al. [5]

    proposed architecture for distributed manufacturing which was a very complex system

    based in the Holonic Manufacturing Systems and Bionic Manufacturing Systems

    concepts. This agent based architecture had various modules and a Knowledge Base

    module at the centre. This was again client-server architecture and was tightly coupled as

    different modules were dependent on one another. Then Sequin et al. [6] proposed a Java

    based networked CAD/CAM environment. This system requires CAD software to be

    installed at all the participating machines. Wright et al. [8] proposed a networked

    manufacturing service named CyberCut where a client-designer submits its design to a

    particular server for process planning. Server then utilizes open-architecture,

    computerized machine tool for fabrication. However, this is a one way flow where only

    server does the manufacturing work. Shyamsundar et al. [9] developed a collaborative

    _____________________________________________________________________Collaboration in Design and Manufacturing using Web Services

    16

  • 8/14/2019 Collaboration in Design and Manufacturing using Web Services

    24/62

    Product Assembly Design (cPAD) tool. A Java based client interface was used. In the

    system, instead of installing the CAD software on every machine, the designer uses the

    CAD software which is packaged into a CAD server. However, this system uses too much

    servers i.e. an Intelligent Server as broker and five application servers viz. Web server,

    Solid Modeling server, Database server, Visualization server, and Catalog Database

    server.

    Objective of the present work is to look into possible use of Orchestration and

    Choreography offered by Web Services into design and manufacturing process. Web

    Services are platform independent, loosely coupled, and truly peer-to-peer architecture

    which needs no website. The service is described in machine interpretable WSDL

    language, which renders it to be discovered automatically. This is the main advantage of

    Web Services as a machine can discover and invoke a service automatically. WSDL can

    also be understood by humans who can control the process, if it is going in undesired

    fashion. As machine can not understand the meanings of words, lots of work are going on

    to introduce ontology which can provide semantic markup of Web Services. One such

    effort is Semantic Web Ontology Language (OWL-S). For global, use Web Services are

    registered on publicly available registries known as Universal Description Discovery and

    Integration (UDDI). UDDI also describes the binding templates and interfaces to the

    services.

    3.2 Statement of the problem

    A Die Casting Design and Manufacturing process involving four partners viz. Casting

    Buyer, Die Design Analyzer, Die Manufacturer, and Casting Manufacturer is taken into

    consideration, as this process consists of both design and manufacturing closely

    associated with each other. If the number of castings to be cast, changes at any moment

    then the die is designed afresh. And as the dies are made up of hard and thermal resistant

    materials which require special machine tools, the dies are made by companies which

    specialize in it. So, many companies are involved in this process. A company which

    needs a casting may not be willing to bother about the die design and manufacturing

    process, so the whole process should be seen as one service which can be done better

    through Web Services. After building the die casting design and manufacturing process

    which eventually contain four Web Services, the whole process can be presented as one

    Web Service. Therefore, this process is taken into consideration in this study. In the

    _____________________________________________________________________Collaboration in Design and Manufacturing using Web Services

    17

  • 8/14/2019 Collaboration in Design and Manufacturing using Web Services

    25/62

    process Casting Buyer orders a casting by giving design requirements to Die Design

    Analyzer and Die Manufacturer both. After analysis, Analyzer forwards information

    about selected material for die to the Die Manufacturer, which prepares dies for both

    casting and trimming. On getting dies and trim dies from Die Manufacturer, Casting

    Manufacturer prepares casting and then trims it to give finished product. The process is

    shown below in the figure:

    Casting

    Buyer

    Die design Analyzer

    Die

    Manufacturer

    Casting

    Manufacturer

    Design

    requirements

    Part Analysis

    Selected material

    Design Dies

    Designed trim dies Designed dies

    Make trim dies Make dies

    Trim dies Dies

    Die casting

    Finished casting

    Trim

    Trimmed part

    Outside processing

    Finished product

    Fig.3.1 Overview of Die Casting Design and Manufacturing process

    3.3 Software tools used in the study

    In this study Java programming language as it is publicly available and platform

    independent and it is widely used in the networking domain due to availability of rich

    libraries which supports networking, though the Web Services can be written in other

    languages as it also platform and language independent. For deploying Web Services a

    _____________________________________________________________________Collaboration in Design and Manufacturing using Web Services

    18

  • 8/14/2019 Collaboration in Design and Manufacturing using Web Services

    26/62

    SOAP (Simple Object Access Protocol) server is needed for which Apache-AXIS is used

    here as it is publicly available and widely used. Other technologies such as .NET from

    Microsoft

    are proprietary and they use C++ programming language which is not

    platform independent. Apache-AXIS requires an application server which can support

    web application, for which Apache Tomcat/4.1.12-LE-jdk14 is used here since it is

    publicly available and AXIS works best with it and is widely used. Then for the

    orchestration of Web Services PARASOFT

    BPEL Maestro for Web Service

    Orchestration, Version 1.6.0 is used which is a freely available Web Services

    orchestration engine. Fig 3.2 shows how these softwares work in tandem to collaborate

    Web Services. It can be seen from the figure that all the web services are described in

    WSDL and can be located on disparate systems. They can use any technology to write

    web services. All the web services can be accessed irrespective of the software used and

    hardware on which it is employed. The messages which are being exchanged are in

    SOAP format. The ovals used in the figure show the particular setup of software used in

    this study. It is clear that Java is the core of the system, and that there is a layer of

    softwares viz. Tomcat, AXIS, and BPEL maestro, which are described above.

    BPEL Orchestration Engine

    SOAP

    Server

    (AXIS)

    Web Application

    Server

    (Tomcat) JAVA

    Internet

    Casting Buyer Die design Analyzer Die Manufacturer Casting Manufacturer(WSDL) (WSDL) (WSDL) (WSDL)

    SOAP

    SOAPSOAP

    SOAP

    SOAP

    Fig 3.2 Conceptual model of the orchestration process

    _____________________________________________________________________Collaboration in Design and Manufacturing using Web Services

    19

  • 8/14/2019 Collaboration in Design and Manufacturing using Web Services

    27/62

    3.4 Methodology of the study

    In this study firstly, j2sdk1.4.2_04 version of Java was installed. Then Tomcat was

    installed, and then a folder named axis in webapps folder ofaxis-1_1 was copied into the

    webapps folder of Tomcat. In this way AXIS was installed. After installation

    http://127.0.0.1:8080/axis/ was typed in the web browser. As 127.0.0.1 is used for the

    localhost so the main page of AXIS installed at the local system is displayed. This page is

    shown in fig.3.3. In this page various links can be seen e.g. Validate the local

    installations configuration; view the list of deployed web service, Administer AXIS,

    SOAPmonitor.

    _____________________________________________________________________Collaboration in Design and Manufacturing using Web Services

    20

    http://127.0.0.1:8080/axis/http://127.0.0.1:8080/axis/
  • 8/14/2019 Collaboration in Design and Manufacturing using Web Services

    28/62

    Fig 3.3 Main page of Apache AXIS

    _____________________________________________________________________Collaboration in Design and Manufacturing using Web Services

    21

  • 8/14/2019 Collaboration in Design and Manufacturing using Web Services

    29/62

    In this study four Web Services were written named CastingBuyer, DieDesignAnalyzer,

    DieDesnManufr, and DieCastingManufr. All the Web Services and their interfaces, and

    binding stubs, were written using Java. These Java codes are presented in appendix. The

    deployment descriptor files for deployment of the Web Services were written in XML.

    After compilation in Java these Web Services were deployed to AXIS using deployment

    descriptor files from the command prompt through AXIS AdminClient command. On

    clicking the linkview the list of deployed web services in the main page of AXIS, a page

    (shown in fig 3.4) is displayed which shows a list of deployed Web Services with the

    interfaces each service provides to access it. There is a link which takes to the WSDL

    description of the service. If the SOAP server is publicly available then any system can

    automatically search for the desired service with the help of UDDI lookup. However, in

    this study the wsdl files of the Web Services are available from the main page of AXIS

    they can be searched in some UDDI registries over the internet.

    _____________________________________________________________________Collaboration in Design and Manufacturing using Web Services

    22

  • 8/14/2019 Collaboration in Design and Manufacturing using Web Services

    30/62

  • 8/14/2019 Collaboration in Design and Manufacturing using Web Services

    31/62

    wsdl files of services can be obtained by clicking the wsdl link given beside the name of

    service in the list of services page. The wsdl page (fig 3.5) contains the description of web

    service. WSDL description mainly consists details of messages which can be exchanged,

    SOAP binding of the service (i.e. how it is converted into SOAP messages), and details of

    portType (portType is the entry point to a service. The interfaces which a web service

    allows are converted into portType in wsdl. portType contains operation, input and output

    message details).

    On getting wsdl files, services can be accessed by sending SOAP messages. Axis

    provides a way to generate SOAP binding stub which hides all the bindings and access

    the services through Java program as if the services were in our system. In this way all the

    required services can be called in a program and can be used in any desired sequence or

    flow. In this study the problem of die design and manufacturing was also solved by this

    method.

    In fig 3.5 wsdl of only CastingBuyer web service is presented. Similarly, wsdl of all the

    four web services can be obtained.

    _____________________________________________________________________Collaboration in Design and Manufacturing using Web Services

    24

  • 8/14/2019 Collaboration in Design and Manufacturing using Web Services

    32/62

    Fig. 3.5 WSDL description of Web Service CastingBuyer

    _____________________________________________________________________Collaboration in Design and Manufacturing using Web Services

    25

  • 8/14/2019 Collaboration in Design and Manufacturing using Web Services

    33/62

    Now coming to the orchestration part, a process flow was built in BPEL Maestro in which

    all the wsdl files of the services were imported. The process flow was written using

    Business Process Execution Language (BPEL), the code of which is presented in

    appendix. A deployment.xml file was also written to render the deployment of the process

    flow to the orchestration engine. When the process is built in Maestro it shows the

    process in an UML (Unified Modeling Language) diagram, which is presented in fig 3.7.

    In the figure, the process starts on receiving a message from service CastingBuyer. On

    receiving message the process invokes two services i.e. DieDesignAnalyzer and

    DieDesnManufr in parallel. After invoking these two services, the design requirements

    are assigned from CastingBuyer service to both services. And the selected material after

    analysis is passed to the DieDesnManufr from DieDesignAnalyzer service. These three

    assign activities are done in parallel. Thereafter, the DieCastingManufr service is invoked

    and designed dies and trim dies are assigned to it from DieDesnManufr service. Then the

    process ends by sending required casting to the CastingBuyer service as reply to the first

    message received in the process. The SOAP message sent to the process is shown below:

    uuid:005692

    22-bf7c-4eca-9c7c-ae7f29c522ef

    http://144.16.204.182:18585/axis/services/CallbackService

    Fig.3.6 SOAP Message sent to the CastingBuyer service from the system.

    _____________________________________________________________________Collaboration in Design and Manufacturing using Web Services

    26

  • 8/14/2019 Collaboration in Design and Manufacturing using Web Services

    34/62

    Fig. 3.7 Process flow of Die Design and Manufacturing process in BPEL Maestro orchestration engine

    The messages exchanged among the services can be viewed by using browse option

    available in BPEL Maestro, after the execution of the process. The result of which is

    presented in fig 3.8. The messages can be seen between the tags against each

    variable used in the process. The messages used in the study were of string type; however

    _____________________________________________________________________Collaboration in Design and Manufacturing using Web Services

    27

  • 8/14/2019 Collaboration in Design and Manufacturing using Web Services

    35/62

    they can be in any format available in SOAP. Technical details like drawings can also be

    passed using new format of SOAP known as SOAP with attachment (wSOAP), however

    this facility was not available with the current tool. The messages passed in the process

    were design requirements, selected material, designed dies and trim dies, and required

    casting.

    BPEL Maestro for Web Service Orchestration, Version 1.6.0

    Process: _DieCasting 1

    Debugger: (none)

    Variable Values:

    Variable Value

    _DesReq_req

    uuid:00569222-bf7c-4eca-9c7c-ae7f29c522ef

    http://144.16.204.182:18585/axis/services/CallbackService

    _DesReq_res

    1.Potential die casting application 2.Optimum die cast shapes,

    forms and sizes 3.Structural considerations 4.Finish

    machining factors 5.Surface treatment considerations.

    _die_req

    _____________________________________________________________________Collaboration in Design and Manufacturing using Web Services

    28

    http://www.parasoft.com/
  • 8/14/2019 Collaboration in Design and Manufacturing using Web Services

    36/62

    _die_res

    _finProd_req

    _finProd_res

    Required_Casting

    _getTrimDie_req

    param2

    _getDie_req

    param1

    _getDie_res

    Designed and Manufactured Dies

    _getTrimDie_res

    Designed and Manufactured Trim Dies

    _mdesDie_req

    _mdesDie_res

    Designed and Manufactured Dies

    _____________________________________________________________________Collaboration in Design and Manufacturing using Web Services

    29

  • 8/14/2019 Collaboration in Design and Manufacturing using Web Services

    37/62

    _mDesReq_req

    param

    _mDesReq_res

    1.Potential die casting application 2.Optimum die cast shapes,

    forms and sizes 3.Structural considerations 4.Finish

    machining factors 5.Surface treatment considerations.

    _mSelMat_req

    paramtr

    _mSelmat_res

    die steel

    _selMat_req

    _selMat_res

    die steel

    _trimDie_req

    _trimDie_res

    Designed and Manufactured Trim Dies

    _____________________________________________________________________Collaboration in Design and Manufacturing using Web Services

    30

  • 8/14/2019 Collaboration in Design and Manufacturing using Web Services

    38/62

    a_DesReq_req

    param

    a_DesReq_res

    1.Potential die casting application 2.Optimum die cast shapes,

    forms and sizes 3.Structural considerations 4.Finish

    machining factors 5.Surface treatment considerations.

    sequencereceive BuyerReq

    flow

    invoke Design_Analyzer

    invoke Die_Designer

    {http://www.parasoft.com/bpel}internalError - No such operation

    'dies'

    flow

    assign pass_design_reuirement_to_Analyzer

    assign pass_design_requirements_to_Designer

    assign pass_selected_material_to_Designerinvoke Casting_Manufacturer

    assign

    assign

    reply finished_product

    Legend

    Breakpoint

    Completed Activity

    Suspended Activity

    Unhandled Fault

    Fig.3.8 SOAP message overview exchanged among the services in the process.

    3.5 Conclusion

    As evident from the results obtained from the study presented in this chapter in detail,

    collaboration is achieved in Design and Manufacturing of a Die Casting process through

    the use of a web services orchestration engine named BPEL Maestro which works in

    tandem with a SOAP server named AXIS and an web application server named Tomcat

    which is a Java based software. All the softwares used in the study are available free.

    _____________________________________________________________________Collaboration in Design and Manufacturing using Web Services

    31

  • 8/14/2019 Collaboration in Design and Manufacturing using Web Services

    39/62

    CHAPTER-4

    Results and Conclusions

    4.1 Results and Discussion

    As presented in chapter 3, in this study web services were written using Java

    programming language and then deployed to a SOAP server using Tomcat and AXIS to

    get wsdl files i.e. description file of the web services. Then the collaboration was done

    using orchestration engine BPEL Maestro and the wsdl files obtained through AXIS. The

    results obtained are encouraging. Orchestration and Choreography offered by Web

    Services can be used in collaboration in Design and Manufacturing. For global use, the

    most important part is the standardization of interfaces provided by the service. The name

    of the service and that of interfaces should be self-explanatory and some standard practice

    should be followed in order to render easy and accurate search of Web services. Ontology

    powered semantic search could be used to improve the performance of Web services.

    Then comes the security part, which is ubiquitous in every process which is implemented

    via. Internet. So, it is not a big problem as security aspects are always looked on in a big

    way by software developers.

    4.2 Conclusions

    In this thesis, the Collaboration in Design and Manufacturing using Web Services,

    collaboration was achieved in a Design and Manufacturing process through orchestration

    and choreography offered by Web Services. First a Design and Manufacturing process

    was chosen in which collaboration is highly required. In this case it was a die casting

    design and manufacturing process in which four companies were involved.

    As reported in chapter 2 the architectures which are present currently are not enough for

    real time, automatic collaboration because they use tightly coupled CAD/CAM

    applications or client-server architecture with too many servers (one server each for a

    specific application).

    Then the Web Services were written and deployed using widely used public domain

    software and then they were orchestrated using orchestration engine. The results obtained

    _____________________________________________________________________Collaboration in Design and Manufacturing using Web Services

    32

  • 8/14/2019 Collaboration in Design and Manufacturing using Web Services

    40/62

    were encouraging. Finally, the design and manufacturing process was presented as a Web

    Services for further use.

    4.3 Scope for future work

    In the study, public UDDI registry was not used since all the Web Services were written

    and deployed locally. Some publicly available services can be used in any process and

    moreover it should be searched automatically by the machine. For the automatic search

    semantic language should be used, e.g. Semantic Web Ontology Language (OWL-S)

    [12]. The SOAP messages exchanged among the Web Services in this process were of

    simple types (e.g. string, int, float etc.). Study can be carried out using wSOAP i.e. SOAP

    with attachments. More technical details can be transferred using wSOAP.

    _____________________________________________________________________Collaboration in Design and Manufacturing using Web Services

    33

  • 8/14/2019 Collaboration in Design and Manufacturing using Web Services

    41/62

    CHAPTER-5

    References

    [1] Nickerson V. Jeffrey, and Stohr A. Edward, Intra Enterprise Integration:

    Methods and Direction, Competing in the Information Age, Oct 2003.

    [2] Johannesson Paul, and Perjons Erik, Design principles for process modeling in

    enterprise application integration, Information Systems, 2001(26) pp.165-184.

    [3] Chung Moon Jung, Kim Sangchul, Kim Hyun, and Ham Ho Sang, A Java-Based,

    Distributed Process Management System for Collaborative Design and

    Manufacturing, FIDJI 2002, LNCS 2604, 2003, pp. 61-72.

    [4] Qureshi A. Khurshid and Saitou Kazuhiro, Design for Facility over the Internet:a case study with automotive connecting rod designs, Proceedings of DETC01

    ASME 2001 Design Engineering Technical Conference and Computers and

    Information in Engineering Conference Pittsburgh, PA, September 9-12, 2001.

    [5] Leito Paulo and Restivo Francisco, A Framework for Distributed Manufacturing

    Applications, ICIMS-NoE 2000 Advanced Study Institute, Bordus, September

    2000.

    [6] Sequin Carlo, Ahn Sung, and Wright Paul, Internet-based Design and

    Manufacturing, Proceedings of the 1998 Japan-USA Symposium on Flexible

    Automation, Ohtsu, Japan, July 13-15 1998, (1998).

    [7] Muammer Koc and Jun Ni, Introduction of e-Manufacturing, NAMRC 2003 E-

    Manufacturing Panel, McMaster University, May 2003.

    [8] Wright Paul and Sequin Carlo, CyberCut: A Networked Manufacturing Service,

    Transactions of NAMRC/SME, Vol. XXVI, 1998.

    [9] Shyamsundar N. and Gadh R., Collaborative virtual prototyping of product

    assemblies over the Internet, Computer-Aided Design 34 (2002), pp 755-768.

    [10] Jrstad Ivar, Dustdar Schahram, and Thanh Do Van, A Service Oriented

    Architecture for collaborative services, 3rd International Workshop onDistributed and Mobile collaboration (DMC), IEEE WETICE, Linkping,

    Sweden, IEEE Computer Society Press, 2005.

    [11] Peltz, C. "Web Services Orchestration and Choreography," IEEE Computer

    (October), pp 46-52, October 2003.

    [12] OWL-S 1.0 Releasehttp://www.daml.org/services/owl-s/1.0/

    _____________________________________________________________________Collaboration in Design and Manufacturing using Web Services

    34

    http://www.daml.org/services/owl-s/1.0/http://www.daml.org/services/owl-s/1.0/http://www.daml.org/services/owl-s/1.0/
  • 8/14/2019 Collaboration in Design and Manufacturing using Web Services

    42/62

    [13] W3C Working Group Note, SOAP 1.2 Attachment Feature,

    http://www.w3.org/TR/soap12-af/

    [14] Woongsup Kim et al., Service Model for Collaborating Distributed Design and

    Manufacturing, WWW Workshop on Application Design, Development and

    Implementation Issues in the Semantic Web 2004. http://server2.tecweb.inf.puc-

    rio.br/we-sw-2004/www-se.pdf

    [15] Chung, M.J., and Kwon, P. A Web-based Framework for Design and

    Manufacturing a Mechanical System, DETC, Atlanta, Georgia. Sep. 1998.

    [16] Frank Sommers, A birds-eye view of Web Services, Java World, January 2002.

    [17] D. Booth, H. Haas, F. McCabe, E. Newcomer, M. Champion, C. Ferris, and D.

    Orchard, Web Services Architecture, W3C Working Draft 8 August 2003.

    [18] H Yang, D Xue, Recent Research on developing Web-based manufacturing s

    ystems: A review, Int. J. Prod. Res., 2003, Vol.41, No.15, pp3601-3629

    [19] IBM, Patterns: Service-Oriented Architecture and Web Services, Redbook,

    April 2004.

    [20] Robert Eisenberg, Service-Oriented Architecture: The Future is Now, Intelligent

    Enterprise, April 2004.

    [21] Francisco Curbera, Rania Khalaf, Nirmal Mukhi, Stefan Tai, Sanjiva

    Weerawarana, The Next Step in Web Services, Communications of the ACM,

    October 2003/Vol. 46, No. 10, pp29-34.

    [22] Curbera, F., Khalaf, R., Leymann, F., and Weerawarana, S., Business Processes:

    Understanding BPEL4WS, in Proceedings of the International Conference on

    Business Process Management, BPM 2003 (Eindhoven, The Netherlands, June

    2003).

    [23] Business Process Execution Language for Web Services, version 1.1.;

    www.ibm.com/developerworks/library/ws-bpel/.

    [24] Curbera, F. et al., Unraveling the Web services Web: An introduction to SOAP,

    WSDL, and UDDI, IEEE Internet Computing 6, 2 (Mar./Apr. 2002).

    [25] Robert Wegener, How Manufacturers Can leverage Web Services Today, RCG

    Information Technology White Paper.

    [26] Heather Kreger, Web Service Conceptual Architecture (WSCA 1.0), IBM

    Software Group, May 2001.

    _____________________________________________________________________Collaboration in Design and Manufacturing using Web Services

    35

    http://www.w3.org/TR/soap12-af/http://server2.tecweb.inf.puc-rio.br/we-sw-2004/www-se.pdfhttp://server2.tecweb.inf.puc-rio.br/we-sw-2004/www-se.pdfhttp://www.ibm.com/developerworks/library/ws-bpel/http://www.ibm.com/developerworks/library/ws-bpel/http://server2.tecweb.inf.puc-rio.br/we-sw-2004/www-se.pdfhttp://server2.tecweb.inf.puc-rio.br/we-sw-2004/www-se.pdfhttp://www.w3.org/TR/soap12-af/
  • 8/14/2019 Collaboration in Design and Manufacturing using Web Services

    43/62

    [27] Zhao J. Leon, Cheng Hsing Kenneth, Web services and process management: a

    union of convenience or a new area of research?, Decision Support Systems 40

    (2005), pp1-8.

    [28] Shacklett Mary, Collaboration software plays pivotal role in manufacturing

    organizations, Unisys World, June 2003.

    [29] Cui Juntao, Liu Jiamao, Wu Yujin, and Gu Ning, An ontology Modeling Method

    in Semantic Composition of Web Services, Proceedings of the IEEE

    International Conference on E-Commerce Technology for Dynamic E-Business

    (CEC-East04)

    [30] Nahm Yoon-Eui, Ishikawa Haruo, Integrated Product and Process Modeling for

    Collaborative Design Environment, CONCURRENT ENGINEERING: Research

    and Applications, Vol.12, No.1, March 2004, pp5-23.

    [31] Sherman Doron, BPEL: Make Your Services Flow, Web Services Journal, June

    2003.

    [32] Chung Moon Jung, Jung Hong Suk, Kim Woongsup, Gopalannalan Ravi, A

    Framework for Collaborative Product Commerce using Web Services,

    Proceedings of the IEEE International Conference on Web Services (ICWS04).

    [33] Colan Mark, Dynamic e-business: Using Web services to transform business,

    IBM e-business, June 2001.

    _____________________________________________________________________Collaboration in Design and Manufacturing using Web Services

    36

  • 8/14/2019 Collaboration in Design and Manufacturing using Web Services

    44/62

    Appendices

    A-1 Overview of Web Services

    What are Web Services

    A Web Service is programmable application logic accessible using standard

    Internet protocols. Web Services combine the best aspects of component-based

    development and the Web. Like components, Web Services represent functionality that

    can be easily reused without knowing how the service is implemented. Unlike current

    component technologies which are accessed via proprietary protocols, Web Services are

    accessed via ubiquitous Web protocols (ex: HTTP) using universally-accepted data

    formats (ex: XML).

    In practical business terms, Web Services have emerged as a powerful mechanism

    for integrating disparate IT systems and assets. They work using widely accepted

    technologies and are governed by commonly adopted standards. Web Services can be

    adopted incrementally with little risk and at low cost. Today, enterprises use Web

    Services for point-to- point application integration, to reuse existing IT assets, and to

    securely connect to business partners or customers. Independent Software Vendors (ISVs)

    embed Web Services functionality in their software products so they are easier to deploy.

    From a historical perspective, Web Services represent the convergence between

    the service-oriented architecture (SOA) and the Web. SOAs have evolved over the last 10

    years to support high performance, scalability, reliability, and availability. To achieve the

    best performance, applications are designed as services that run on a cluster of centralized

    application servers. A service is an application that can be accessed through a

    programmable interface. In the past, clients accessed these services using a tightly

    coupled, distributed computing protocol, such as DCOM, CORBA, or RMI. While these

    protocols are very effective for building a specific application, they limit the flexibility of

    the system. The tight coupling used in this architecture limits the reusability of individual

    services. Each of the protocols is constrained by dependencies on vendor

    implementations, platforms, languages, or data encoding schemes that severely limit

    interoperability. And none of these protocols operates effectively over the Web.

    _____________________________________________________________________Collaboration in Design and Manufacturing using Web Services

    37

  • 8/14/2019 Collaboration in Design and Manufacturing using Web Services

    45/62

    The Web Services architecture takes all the best features of the service oriented

    architecture and combines it with the Web. The Web supports universal communication

    using loosely coupled connections. Web protocols are completely vendor-, platform-, and

    language-independent. The resulting effect is an architecture that eliminates the usual

    constraints of DCOM, CORBA, or RMI. Web Services support Web based access, easy

    integration, and service reusability.

    As stated earlier, a Web Service is an application or information resource that can

    be accessed using standard Web protocols. Any type of application can be offered as a

    Web service. Web Services are applicable to any type of Web environment: Internet,

    intranet, or extranet. Web Services can support business-to-consumer, business-to-

    business, department-to-department, or peer-to-peer interactions. A Web Service

    consumer can be a human user accessing the service through a desktop or wireless

    browser; it can be an application program; or it can be another Web Service. Web

    Services support existing security frameworks.

    Today, Web Services products like Systinet WASP will operate anywhere, in

    almost any existing IT setting.

    Service Assembly

    A Web Service represents a discrete unit of business, application, or system

    functionality. Each discrete Web Service can be deployed on and accessed from any node

    on the Internet. Multiple services can be combined or assembled to deliver more valuable

    services. This modular approach gives businesses great flexibility in system design. By

    reassembling a few services into a new configuration, a business can create a new

    business service to support a different business objective.

    Definitive Characteristics

    Web Service exhibits the following definitive characteristics:

    A Web Service is accessible over the Web. Web Services communicate usingplatform-independent and language-neutral Web protocols. These Web protocols

    ensure easy integration of heterogeneous environments.

    A Web Service provides an interface that can be called from another program.This application-to-application programming interface can be invoked from any

    type of application client or service. The Web Service interface acts as a liaison

    between the Web and the actual application logic that implements the Service.

    _____________________________________________________________________Collaboration in Design and Manufacturing using Web Services

    38

  • 8/14/2019 Collaboration in Design and Manufacturing using Web Services

    46/62

    A Web Service is registered and can be located through a Web Service Registry.The registry enables service consumers to find services that match their needs.

    Web Services support loosely coupled connections between systems. WebServices communicate by passing messages to each other. The Web Serviceinterface adds a layer of abstraction to the environment that makes the connections

    flexible and adaptable.

    Web Services Technologies

    Web Services can be developed using any programming language and can be

    deployed on any platform. Web Services can communicate because they all speak the

    same language: the Extensible Markup Language (XML). Web Services use XML to

    describe their interfaces and to encode their messages. XML-based Web Services

    communicate over standard Web protocols using XML interfaces and XML messages,

    which any application can interpret.

    But XML by itself does not ensure effortless communication. The applications

    need standard formats and protocols that allow them to properly interpret the XML.

    Hence three XML-based technologies have emerged as the de facto standards for Web

    Services:

    Simple Object Access Protocol (SOAP) defines a standard communicationsprotocol for Web Services.

    Web Services Description Language (WSDL) defines a standard mechanism todescribe a Web Service.

    Universal Description, Discovery and Integration (UDDI) provides a standardmechanism to register and discover Web Services.

    Figure 1 shows how these technologies relate to one another. When a service provider

    wants to make the service available to service consumers, he describes the service using

    WSDL and registers the service in a UDDI registry. The UDDI registry will then

    maintain pointers to the WSDL description and to the service. When a service consumer

    wants to use a service, he queries the UDDI registry to find a service that matches his

    needs and obtains the WSDL description of the service, as well as the access point of the

    service. The service consumer uses the WSDL description to construct a SOAP message

    with which to communicate with the service.

    _____________________________________________________________________Collaboration in Design and Manufacturing using Web Services

    39

  • 8/14/2019 Collaboration in Design and Manufacturing using Web Services

    47/62

  • 8/14/2019 Collaboration in Design and Manufacturing using Web Services

    48/62

    mechanism to supply directive or control information about the message. For example, a

    SOAP header could be used to implement among other things:

    Transactions

    Security, for instance, using WS-Security Reliability, using the upcoming WS-ReliableMessaging standard Routing Payment mechanisms

    SOAP Body. The SOAP body contains the payload that is being sent in the SOAP

    message.

    SOAP Transport Binding Framework. SOAP 1.1 defines bindings for HTTP and the

    HTTP Extension Framework. SOAP 1.2 defines a default binding for HTTP (not the

    extension framework) and provides for other bindings such as SMTP, JMS and others.

    SOAP Serialization Framework. All data passed through SOAP messages are encoded

    using XML. Data can be passed as a literal XML document that validates against some

    XML Schema (http://www.w3.org/XML/Schema) document, or data can be passed using

    the original SOAP encoding rules that are based on an early version of XML Schema but

    diverge from it in several significant ways. The Web Services Interoperability

    Organization (WS-I, http://www.wsi. org/) maintains what might be called a Web

    Services super-standard called the Basic Profile 1.0. This profile recommends against

    the use of SOAP encoding in applications, though long usage means that a number of

    services are already in existence using SOAP encoding.

    Services may be designed to work on the raw XML payload, but it is more

    common for the payload to be mapped or bound directly to data types in the host

    language. This step is called serialization and is implemented by most Web service

    implementations. Serialization is possible regardless of whether the payload is a literal

    XML document or SOAP encoded as both support common features found in the type

    systems of most programming languages and databases. This includes simple scalar types

    such as strings, integers, and floats, and complex types, such as structures and arrays.

    SOAP RPC Style Messaging

    SOAP supports a tightly coupled communication scheme based on the SOAP RPC

    representation. The SOAP RPC representation defines a programming convention that

    represents RPC requests and responses. Using SOAP RPC, the developer formulates the

    SOAP request as a method call with zero or more parameters. When the payload is

    _____________________________________________________________________Collaboration in Design and Manufacturing using Web Services

    41

    http://www.wsi/http://www.wsi/
  • 8/14/2019 Collaboration in Design and Manufacturing using Web Services

    49/62

    constructed into a single structure the outermost element represents the name of the

    method or operation, and the innermost elements represent the parameters to the

    operation. The SOAP response is similar with an outermost element named in relation to

    the method name and the innermost parameters representing zero or more return

    parameters.

    SOAP Document Style Messaging

    SOAP also supports very loosely coupled communications between two

    applications. The SOAP sender sends a message and the SOAP receiver determines what

    to do with it. The SOAP sender doesnt really need to know anything about the

    implementation of the service other than the format of the message and the access point

    URI. It is entirely up to the SOAP receiver to determine, based on the contents of the

    message, what the sender is requesting and how to process it. Note that even with

    Document Style Messaging it is possible to emulate RPCs by putting the

    method/operation name in the SOAPAction header of the HTTP request.

    SOAP with Attachments

    The SOAP with Attachments binding (http://www.w3.org/TR/SOAPattachments)

    can be used to transport non-XML data, such as multimedia files, as attachments to a

    SOAP message. This specification uses MIME to encode messages. Though MIME is

    ubiquitous it is not necessarily the best mechanism for sending binary messages in a

    SOAP envelope. An alternate mechanism is called DIME, and the WSAttachments

    specification (http://www- 106.ibm.com/developerworks/webservices/library/ws-

    attach.html) describes how to embed DIME in a SOAP Envelope.

    WSDL

    WSDL is an XML vocabulary for describing a Web Service. A WSDL document

    describes what functionality a Web Service offers, how it communicates, and where it is

    accessible. WSDL provides a structured mechanism to describe the operations a Web

    Service can perform the formats of the messages that it can process, the protocols that it

    supports, and the access point of an instance of the Web Service. SOAP development

    tools can use a WSDL description to automatically generate a SOAP interface for use in

    an application.

    A WSDL description defines a service as a collection of network endpoints or

    ports. Each port is defined abstractly as a port type, which supports a collection of

    _____________________________________________________________________Collaboration in Design and Manufacturing using Web Services

    42

    http://www.w3.org/TR/SOAPattachmentshttp://www-/http://www-/http://www.w3.org/TR/SOAPattachments
  • 8/14/2019 Collaboration in Design and Manufacturing using Web Services

    50/62

    operations. Each operation processes a particular set of messages. A binding maps a port

    type to a specific protocol and data format. A port instantiates a port type and binding at a

    specific network address.

    A WSDL description is an XML document that contains a set of definitions. There

    are five major elements within a WSDL document:

    1. Types. The element defines the data types that are used within messages.

    WSDL uses the data typing system defined in the W3C XML Schema Part 2: Data types

    Recommendation (see http://www.w3.org/TR/xmlschema-2/) as its canonical type

    system, although any data typing system may be used. The type system supports simple

    scalar types and complex types. Schema types can be mapped to most programming

    language type systems. SOAP tools use the type information to encode and decode the

    data in SOAP messages.

    2. Message. A element defines the format of a message. Messages are used as

    input or output structures for operations. A message can consist of one or more logical

    parts, each of which is associated with a type. When using the SOAP RPC programming

    model, each part represents a method parameter.

    3. Port Type. A element defines a set of operations. Each

    element defines an operation and the input and output messages associated with the

    operation. When using the SOAP RPC programming model, each operation represents a

    method.

    4. Binding. A element maps the operations and messages defined in a port

    type to a concrete protocol and data format specification. For example, a binding element

    might map a port type to a specific SOAP RPC interface using the HTTP transport

    protocol and the SOAP data encoding system.

    5. Service. A element defines a collection of related ports. A element

    maps a binding to the location (a URL) of an instance of the Web Service.

    Services and Service Types

    The type, message, and port type elements define a service in an abstract way. A

    WSDL description that contains only these elements, in effect, describes a service type.

    The binding element maps the service type to a specific protocol. The service element

    maps the service type and the binding to a specific instance of the service. The binding

    _____________________________________________________________________Collaboration in Design and Manufacturing using Web Services

    43

  • 8/14/2019 Collaboration in Design and Manufacturing using Web Services

    51/62

    elements and service elements can be maintained in separate WSDL documents to

    provide more reusability and flexibility.

    UDDI

    UDDI provides a mechanism to register and categorize Web Services that you

    offer and to locate Web Services that you would like to consume. UDDI is itself a Web

    Service. Users communicate with UDDI using SOAP messages.

    A UDDI Registry contains information about businesses and the services they offer. The

    information is organized as follows:

    Business Entity. A business entity contains information about a businessincluding its name, a short description, and some basic contact information. Each

    business can also be associated with unique business identifiers, including a

    Thomas Register identifier and a D-U-N-S number, and with a list of

    categorizations that describe the business. UDDI V2 products allow businesses or

    industry groups to create additional describing categories, a very powerful feature.

    Business Service. Associated with the business entity is a list of business servicesoffered by the business entity. Each business service entry contains a business

    description of the service, a list of categories that describe the service, and a list of

    binding templates that point to technical information about the service.

    Binding Templates. Associated with each business service entry is a list ofbinding templates that prov