Web Enabled Environment by nyut545e2


									Web-Enabled Environment
   Based on CORBA
    Background of the project
 Aim to improve the co-operation between China
  and Europe in the area of information science
  interconnectivity and product
 4 Partners Participated:
    The Nottingham Trent University Nottingham,

    Foundation Labein, Bilbao, Spain

    Harbin Institute of Technology, Harbin, China

    Chongqing University, Chongqing, China
What is it on about?
         It is on about
 An    working environment

 For   product design/manufacture

 Focuson the collaboration over
Background and tendency of
product design/manufacture
   The increasing complexity of modern products
       complex engineering design, involves experts from multiple
        disciplines such as geometrical design, stress analysis, material
        selection and manufacturing, vibration simulation, etc.

       The experts might be in different organisations and located in
        different geographical regions.

       Different experts might use different resources including computing
        applications, CAD systems languages such as Pro-E, UG, AutoCAD,
        ANYSIS, etc. which are written in different, ported in different
        platforms and linked in different networks.
 Thecruel competition pressure requires
 globalisation of product
     Expand the market
     Transfer divisions to appreciate locations (to get
      cheaper labors, materials and resources)
     Fast reaction to suit for the unpredictable changes
      in market
 Data are Distributed and heterogeneous
 Computation applications are Distributed and
 Users are Distributed
 Allof these necessitate a collaborative
  design environment, where different
  computer programs and distributed
  experts in similar or different domains can
  be collaboratively involved on a common
  design/manufacture activity.
An effective collaboration
  mechanism is highly
“Web-Enabled Environment
 based on CORBA” is the
   mechanism it needs
             Make it clearer
 We are talking about a high-efficiency
 collaborative environment for the demand
 of modern product design/manufacture
    The collaborative environment can be a range
     from a desktop pc/a workshop to the world
     wide participating sections
               Make it clearer
 In this environment, geographically
  dispersed designers can collaborate online
  in real time
      Designers engaged in a project can be
       distributed in different rooms in a building,
       within a city or maybe in any where over the

      They can cooperate with each other without
       being troubled by distance.
              Make it clearer
 Ignore   difference of the IT platforms they
     There may be dozens of different CAD/CAE
      software packages, operating systems and
      programming languages are involved in the
      same project during cooperation.
     In our environment, no need to spend extra
      money and time to unify these difference,
      collaborators treat them as same.
Got some idea about the
 Environment so far?
         Let’s call the environment
 Briefly,
  “WEE based on CORBA”
 Obviously, CORBA is the main
  technology on which our “Web-
  Enabled Environment (WEE)” is
What is CORBA then?
          Definition of CORBA
   CORBA is the acronym of “common object
    request broker architecture” defined by the
    Object Management Group (OMG), is a
    standard for the distributed computing and
    systems integration

   The OMG comprises over 700 companies and
    organizations, including almost all the major
    vendors and developers of distributed object
    technology, including platform, database, and
    application vendors as well as software tool and
    corporate developers.
          Basic idea of CORBA
   CORBA is a architecture to provide a communication

   It is not for communication between human and
    computer/internet but for the communication among
    computing applications over network

   The applications are emphasised to be with different
    languages, platforms and protocols

   The applications may be distributed in different locations
     An envision for CORBA
 library help desk. It will assist you to get the
  books you want in library. All the books are
  registered in the help desk with some specific
  references (ISBN, names, authors, brief
  descriptions etc.). The help desk can search any
  book in different ways and help you to get hold
  of them from different frames.
 the system will assist you to get the books you
  exact want, or tell you what it has now following
  the general requirements you give.
 It is the similar way CORBA does
 Imagine applications with different
 functions are the books required in
 dispersed computers (book frames) in the
 networks ( huge library).

 CORBA    is the help desk that will help to
 find out and get the applications (books)
 you want
   CORBA “wraps” program code into a bundle (object) and
    uses an interface definition language (IDL) to specify the
    interfaces that objects will present to the world containing
    information about the functions of the code inside and how
    to call it in a language neutral way. The resulting wrapped
    objects can then be called from other programs across a

   CORBA then specifies a “mapping” from IDL to a specific
    implementation language in its specific ORB (Object
    Request Broker) written for those languages like C++ or
    Java. Standard mappings exist for Ada, C++, Smalltalk,

   The CORBA’s ORB is utilized as the communication bus
    for all objects in the system. It enables objects to
    transparently make requests to---and receive responses
    from---objects located locally or remotely.

   The client is not aware of the mechanisms used to
    communicate with, activate, or store the server objects.
           Key technical points
 Name sever--- A server where all the application objects
  register their object reference with related unique
  meaningful names
 IDL----Interface definition language, specify the
  requested operations performed in the invocated
  application object in client side and the operations
  supplied by application object in server side.
 ORB---Object request broker, Generated for mapping
  specific programming language and locating the remote
  object on the network. It directs the request to the object,
  waits for the results and when available delivers those
  results back to the client.
 IDL Stub and IDL Skeleton--- produced by ORB, Serve
  as proxies to marshal and unmarshal the operations
  arguments specified by IDL for delivery in ORB.
Diagram of basic CORBA work
         Object ref

                                Client             Object Implementation
Name sever


                                                         IDL Skeleton
                           IDL Stub
             names of


                                      Object Request Broker
      Description of the work flow
   Client visit the name server to find out the name of the
    requested application object and get the object
   With the unique object reference, client must use IDL
    interface to specify the operations it wants to perform in
    the invocated object and marshal the arguments it
    sends using the IDL stub.
   ORB is used to direct and deliver the request and
    response between client and specific object server .
   When the invocation reaches the target object in server,
    same IDL interface is used to unmarshal the arguments
    in IDL skeleton so that the object can perform the
    requested operations and marshal the results get from
    application object for their back trip.
   Finally, results are sent back and unmarshaled by IDL
    stub in client side and ready for use.
     What we have from CORBA
   The client application is completely isolated from the
    server application. It does not know what hardware it is
    running on, what operating system it is using, what
    language it is written in, or where it is located -- in the
    next room or halfway around the world. All it knows is
    that if it calls It will get a response it can count on.

   This is all about providing a service like the telephone or
    the electric company. When you pick up your phone you
    expect to get a dial tone and a clear connection for your
    call. You don't care if the call is being routed through
    fiber optic cables or bounced off a satellite
         Conclusion for CORBA
   CORBA uses IDL to enable distributed
    Applications (objects) talk to each other and
    share power with recognizable interface

   ORB is universal communication bus of the
    CORBA, It does all the jobs for interaction
    between applications transparently.

   CORBA is the architecture base of our WEE
Back to the WEE
         Contents involved
A   Web-enabled environment (WEE)

 Two associated techniques based on
  Remote execution of large size

  Web-based collaborative CAD.
        Architecture of WEE
 The Web-enabled environment consists of
 three tiers based on the CORBA:
   User tier

   Web server tier

   Application tier
            Architecture of WEE
                      User Interface                                        er                        CAD


                                                                            er                        CAD


User Tier                                                                   er
                     Web Server Tier                                                                  CAM

     CORBA Objects                                                    CQU
                                                                            er                        CAD

                                                                                   Application Tier
                                       Figure 1 Architecture of WEE
     Functions of User tier
   User tier — Valid customers of the
    WEE are allowed to visit HTML or XML
    pages located on the Web server tier
    over the Internet. The user needs to
    know only how to use the graphic
    interface and does not to have to be
    aware of the technical details behind this.
Functions of Web server tier
 Web    server tier — It consists of three
    Graphical user interface
    CORBA agent object
    Intelligent control of virtual design systems
  Modules of web server tier
 The   graphical user interface includes
 the whole activities flow according to the
 design and manufacturing process and
 Web service tools. All these Web pages
 contain the inside linkage to the CORBA
 agent objects.
    Modules of web server tier
       CORBA agent objects are
        associated with the remote applications
        or software and activate them and
        retrieving the results.
         Through CORBA the applications dispersed
          on the remote systems can be encapsulated
          into the CORBA objects so as to be reached
          and managed by CORBA agent objects
    Modules of web server tier
       The artificial intelligent control
        is for the intelligent control of the whole
        process of design and manufacture.

         The CAD/CAM connection using feature
         Intelligent distribution with neural networks,
         Intelligent scheduling using Genetic
       Generally to tell when to use what
        available/alternative resources
    Functions of Application tier
 Application     tier — It consists of a number of
    applications for design and manufacture
    dispersed geographically and in different
    languages and operating systems (PDM,

   They are wrapped into CORBA objects. The
    interface of each is mapped into a CORBA agent
    object in web server tier and separated from the
    implementation language partner uses.
Two working models on WEE
 In the WEE system, many necessary
  applications are integrated in a standard
  interface based on CORBA.
 There are two kinds of working models are
      Web server centralised structure.
      Direct point-to-point mechanism.
      Server Centralised Model
                                         A central server is
                                          employed to manage the
                                          global and administrative
                                          information of whole
             Server in NTU
                                          distributed system.

                                         It works as a mediator,
                                          communication between
             HEU                          client applications and
                                          design applications must
                                          go through the centre
 Conducting the following tasks:
 Authentificationof the user information
 Resource registration and finding services
 Management of global product information
 conduct the data sharing among multiple
         How does it work?
 Partners wish to access same design task first copy
  the data into the local system and edit
 During editing, the data is locked by the central
  server and only accessable for the current partner.
 When finishing, they must update the modifications
  in the central server, unlock the data and send a
  message to the other partners regarding this
 Other partners must therefore re-download the
  modified data to proceed to the design task.
Advantage and Disadvantage
   Advantages:
       Easy to manage the user identification
       provide a unified interface for partners or users to
        register their own resources and find other’s
        resources        .
       administrate the global product information, and
        ensure design data consistency.
   Disadvantages:
       Requires high network bandwidth.
       Potentially less fault-tolerant because the central host
        is a single point of possible system-wide failure.
         Point-to-point Model
   It provides a totally
    decentralized system.            NTU

    Each partner node acts
    as both an application
    server and a client.

   The partners can                       HEU

    exchange their resources
    to each other directly
         How does it work?
 partners want to modify a CAD model together
  contain the copies of the shared CAD data in the
  local systems.
 Modifications made to the local model are
  identified and then propagated to other
  collaborative designers in standardised format,
  or semantic design messages.
 A reduced data volume is distributed since only
  the modifications are transferred rather than the
  whole modified model.
 Each node has equivalent capabilities as well as
  responsibilities that either request or provide
Advantage and Disadvantage
   Advantage:
       point-to-point eliminates the single-source bottleneck.
        partners have full access to the data at any time.
       Increase the fault-tolerant capability
       Only the modifications are transferred rather than the
        whole modified model which release the intensity of
        bandwidth occupation
   Disadvantage:
       maintaining administrative data consistency among
        distributed replicas is more complex while the number
        of propagating messages is much larger.
Solution--- Hybrid Structure for
       the WEE System
                              Two models are
                  LABEIN       together utilised to
                               provide more
                               flexibility and


        Basic working rule
 The  name Server is ported on the central
  server site, which provides the naming
 Clients obtaining the object reference from
  the Name Server and invoke the object
  directly based on the point-to-point
  structure high efficiency.
         Basic working rule
 In order to efficiently fulfil collaborative
    high efficient point-to-point structure is

     used for graphical data operation
     ( CAD/CAE models or drawings, etc.)
    Centralised model is used to operate

     non-graphical data. (naming service,
     administrative data, global product data,
 Itcombines all the advantages of
  both structures and eliminates
  their shortages
        Features of the WEE
   Scalability -- The system architecture can
    accommodate any growth in future load such
    as new computer processors and/or
    architectures and tools.

   Openness -- The system can be easily
    extended and modified. Any new components
    integrated in the system can communicate and
    work together with some of components that
    already exist in the system.
        Features of the WEE
 Heterogeneity -- communicates and
  interoperates amongst the components basing
  on different programming languages, different
  hardware platforms and different protocols.
 Legacy codes reusability -- Existing applications
  can be integrated and interoperated seamlessly
  together with a new application without code-
  rewriting. The reusable components enable
  efficient development processes and reliable
  application systems.
        Features of the WEE

           intelligence -- Artificial neural
 Artificial
  networks, fuzzy logic and genetic
  algorithms are utilized for the control of
  process and conflict checking.
   Development of the WEE
 For collaboration amongst the partners,
 the environment has to be provided with
 the following modules:
   Integration of application

   Communication and interoperation

    between partners
   Unified graphical user interface

   Intelligent process management
 Two associated techniques
      based on WEE
 Remoteexecution of large size

 Web-based   collaborative CAD
Remote execution of large
size application based on
   In order to achieve best product design and low
    production costs, some large-sized programs, such as
    design optimization and finite element analysis software,
    are often used in the design phase.

   such programs/packages are time-consuming in
    computation and

   may not be valid to download due to software copyright,
    or due to their large size and the limited network

   Approach has been developed to remotely execute such
    software in an effective way for collaborative design
    within the WEE.
    Remote execution of large size
      application based on WEE

   System structure using Java Servlets
       Java Servlets can be seen as a set of pre-
        programmed functions packed in server side and
        ready to be triggered by some actions of user

   Application of CORBA Technology in the System
       Works flow with Java Servlets
   The executable program is located and executed on the server-side
    and the results are sent to the client-side after the completion of the

   To accomplish this, a combination of Java Servlets, HTML, etc. are

   The user on the client side inputs the parameters of the program via
    the input interface in the HTML page.

   When the user clicks on the submit button on the HTML page, these
    parameters are sent to the server and a Servlets program is
    activated by the HTML code.

   It parses the parameters and writes them into the input files and
    invokes the executable program which is located on the server.
    When the execution is completed and output files are created,
    Servlets return the results to the client.
             System structure
          Client                                      Server

       Welcome Page                       Login Servlet

Stop    Unregistered                       Valid user?          Input files
         user page


                         Parameters                              Executable
       Input interface
                                          Main Servlet            program
       in HTML page

Stop    Result pages                      Result Servlet
                                                                Output files

        Figure 2 Remote execution environment based on Java Servlets
Application of CORBA Technology
          in the System
   CORBA is used as Middleware between Java
    servlets and executable programs such as
    C/C++ applications distributed in remote
    application servers.

   IDL and ORB help to turn a local application
    (distributed) into the Web-based object, so that it
    can be accessed over the network such as the
    Intranet, Ethernet or Internet.

   With other words, Java servlets also can be
    treated as the middleware connecting the user
    and CORBA system
Application of CORBA Technology
          in the System

          Client GUI                                     Executable

     Client IDL Interface                          Server IDL Interface

                     Object Request Broker Core

                 Figure 3: Situation with direct data transfer
       Features of the system
   user can easily access the application through an
    Internet explorer regardless the platform type used.
   user can easily input data, monitor the executing
    process, and receive resultant data in a demanding
   Without impaction on program execution in case of
    the interruption of Internet. (input/output files, CORBA
    will resolve the problem)
   Multiple users’ complementation and authentication
    (Java servlets do the job)
   Web-based Collaborative
   Computer Aided Design

        File Approach for CAD Data
 Neutral

 Web-based   CAD Data Sharing
     Neutral File Approach for CAD
             Data Transfer
   Many CAD and finite element analysis (FEA) software
    packages, such as Pro-E, SolidWorks, AutoCAD,etc, are
    widely used in product design and manufacturing.

   In the distributed collaborative environment, the given
    partners may have different CAD and FEA software with
    different data format.

   In order to collaborate, it is necessary to effectively
    exchange and share data between heterogeneous CAD

   CORBA based neutral files is the one we need
A Comparison between two system

     Directtranslator system
     Neutral file system
         Direct translator system
   Direct translators system uses a pair of translators to
    exchange data between two CAD software.

   The numbers of required translators becomes too large
    when many CAD systems involved in the data transfer.
    (For each pair of CAD systems to be able to
    communicate, two translators are required, one for each

   For a new additional CAD system, several translators
    have to be added fro every existing CAD system.
Direct data transfer


UG                                             SolidWork

     AutoCAD                             Ansys

     Figure 4: Situation with direct data transfer
            Neutral file system
 Neutral file system utilizes pre- and post-
  processor for each CAD system.
 When a new CAD system is added, only one
  pre- and post-processor needs to be added for
  exchanging data with all the existing CAD
 All the exchanging data will be collected into
  neutral file format firstly and sent back to any
  partner with its required data format.
Data transfer with neutral file

                                   Pre- and post-
   UG                                             SolidWork

        AutoCAD                           Ansys

        Figure 5 Situation using a neutral file
Web-based CAD Data
    Current communication software
 currently Internet communication software, such
  as Windows Netmeeting, enables two or more
  users to share CAD drawings by remote desktop
 However, massive bitmap data transferring
  across the Internet is greatly constrained by the
  limited network bandwidth
 Moreover, such sharing software can only run
  on the same operating system.
 To solve this problem, a Web-based approach
  for real time CAD data sharing across different
  operating systems is developed within the WEE.
 Web-based CAD Data Sharing
 Thisframework is to enable geographically
 dispersed team members to discuss and
 modify CAD data simultaneously within the
 Web-enabled environment effectively.
                  Basic rules
   Users in different locations start their own
    process instance (a copy of design data on
    which cooperative designer can work )with the
    same CAD software.

   Connect to the same server by Internet
    communications that follow CORBA rules.

   The information transferred through the Internet
    is not the bitmap data, but the design
    instructions and display parameters
                            Work flow
   partner A is sharing
    CAD data with partner     Partner A             Server             Partner B
    B with same software
    but different Operation   Modellin             CORBA               Modellin
                                g                   Object               g

   A develops a model          CAD                                      CAD
    and the modeling           Softwa                                   Softwa
                                 re                                       re
    instructions and
    display parameters will
    be transferred to the      CORBA                                    CORBA
    server in the meantime      Object                                   Object
    and then to B using                        Modelling
    CORBA rules                                instructions and
                                               display parameters

                                Figure 6: Flow chart of CAD sharing system
   When B works on the
    model, the process is
 The quantity of the Internet transferred
  data can be greatly reduced.
 The response speed of this collaborative
  design environment increases manifold.
 Ignore the difference of operation systems
                 Case study:
 computer aided simulation and analysis for
 gear using WEE
     http://www.admec.ntu.ac.uk/asia-itc/WEE.html
Thank you!

To top