Minutes

This section gather together the minutes of each meeting of the development team. These summaries describe very briefly what has been discussed, which decisions have been taken, what the members' team are doing, have done, or have to do.

Tuesday, November 30th 2004

Present were:

  • Dr. Eric Dubuis
  • Patric Fornasier (protocol)
  • Pawel Kowalski

Minutes:

  • The project coached announced that the thesis need to be turned in as a physical document in two copies. Folders can be announced at the secretary's office at the given time.
  • The team members reported the issues they experienced while working with XML. The team members explained, that there is going to be a limit in that context, as only simple XML-Types will be supported in the bexee version they will submit.
  • The team members reported the issues and difficulties associated with hot-deployment.
  • The team members reported the experiences and insights they had gained about PartnerLinks and WSDL files associated with a BPEL process.
  • The team members reported that there is going to be a restriction, as only one port type can be used in the bexee version they will submit.
  • A talk about Axis and third-party software integration was held among the three people present.
  • P. Fornasier made the suggestion that the team members plan to continue working on the engine core, rather than on fancy demos and will build the demos during the x-mas holidays. The demos will not be part of the thesis marking.
  • The project coached showed full understanding in the points the team members reported and agreed on the remaining actions planned by the team members.

Actions to be taken:

  • Continue working as defined in project schedule

Next meeting: Monday, December 6th 2004

Monday, November 22nd 2004

Present were:

  • Dr. Eric Dubuis
  • Patric Fornasier (protocol)
  • Pawel Kowalski

Minutes:

  • The team members presented their work of the preceding week.
  • P. Kowalski presented how the XML to OO mapping works in bexee. He explained the concepts of Apache Digester, which is used to map the XML structure into objects. He also showed how factories can be used to introduce more control in the creation of object structure.
  • P. Fornasier showed how Axis is integrated into bexee. To further illustrate this, he drew a small sketch of the message flow starting with a user request and ending with the appropriate response back to the user. He also presented the deliverables structure, by explaining what different components are going to be put into the bexee web archive file.
  • The team members stated that the Axis integration had proven to be more time-consuming than expected.
  • The team members requested a feedback regarding the project documentation (web site and pdf) from the project coach.

Actions to be taken:

  • Project coach will send a feedback regarding the project documentation

Next meeting: Tuesday, November 30th 2004

Tuesday, November 16th 2004

Present were:

  • Dr. Thomas Siegrist
  • Dr. Eric Dubuis
  • Patric Fornasier
  • Pawel Kowalski (protocol)

Minutes:

  • Extraordinary minute with the diploma project expert Dr. Thomas Siegrist, the project coach Dr. Eric Dubuis and the project team P. Fornasier and P. Kowalski.
  • The project team members present the bexee project and the BPEL language to the diploma project expert. After this brief presentation, all those present discuss the rationales for the BPEL language, BPEL and Web Services related technologies. The expert advises that this rationale be contained in final project documentation.
  • Final project documentation and all deliverables have to be provided in digital form at the end of the project. Printed documentation must not be delivered to the expert.
  • At the end of the project, the project team will inform the expert and the project coach where all project documents and deliverables can be found.

Actions to be taken:

  • 9.12.2004: email with important information about the project and project document addresses

Next meeting: there will be no next meeting with the diploma project expert and the project team.

Tuesday, November 16th 2004

Present were:

  • Eric Dubuis
  • Patric Fornasier
  • Pawel Kowalski (protocol)

Minutes:

  • The team members present the work done during the last week:
    • Simple processes consisting of a Receive, synchronous Invoke and a Reply has been created programmatically and executed. The process executed correctly. In this stadium, the bexee engine was not yet integrated with Axis and Tomcat. Neither was the process parsed from a BPEL document, but created programmatically. The work to be done has been divided. P. Fornasier took was assigned the task of integration bexee with Axis and P.Kowalski transforming BPEL documents.
      • In theory, integration with Axis should be very easy, but this task occurred to take longer than foreseen. Integration with Axis is not very well documented and some issues, e.g. programmatically deployment of services in Axis cannot be done in a straight forward way. Once the integration task completed, bexee will be delivered together with Axis. No changes will be inside Axis. This way, it will be possible to replace versions of Axis without recompiling Axis code.
      • Parsing and transforming BPEL documents will be done with Apache Digester. This tool is suitable for this task and can be customized in order to fulfil special requirements of BPEL documents parsing. JAXB, XMLBeans have been briefly evaluated but as those techniques are not suitable for bexee, they will not be used.
  • The team and the project coach have discussed other, not yet solved issues:
    • bexee has to provide engine administration means. In order to do so, an administration interface will be provided and deployed in the integrated Axis engine.
    • Deployment of BPEL processes in bexee. The wsdl bindings for the web service interfaces of the deployed BPEL processes have to be made concrete by bexee (the receive activities will manifest as web services). The engine will define a concrete way to call those web services. This concretization will be done at deployment time, as the BPEL processes do not provide concrete invocation information.
  • Presentation of core architectural decisions done by the project team:
    • At the beginning of the project, the project team decided to use a generic homogenous tree to represent BPEL process types. During the first week of realization, this proved not to be useful structure for the modelling of BPEL process types. BPEL process types are now modelled using a heterogeneous tree model.
    • At execution time, BPEL processes will not be processed recursively, but sequentially

Actions to be taken:

  • bexee documentation has to be updated after finishing Axis integration and BPEL document parsing. Especially Axis integration needs to be well documented.
  • Deployment of BPEL processes has to be defined and documented.

Next meeting: Monday, November 22th 2004

Tuesday, November 9th 2004

Present were:

  • Eric Dubuis
  • Patric Fornasier (protocol)
  • Pawel Kowalski

Minutes:

  • The team members presented the work they had done during the previous week. This included a short presentation of the following items:
    • Solution Description - Function Details
    • Solution Description -Process Modelling
    • System & Software Architecture
    • Unit Test and Clover Reports
  • A discussion was held about possible solutions to prevent a TCP connection from being closed when a synchronous request for a long- running process is being made by a client.
  • Another discussion was held about the multithreading issues with Mozilla that were described in the Function Details document. For both discussions the team came to the conclusion that it should strive for a clean solution at HTTP level (e.g. sending a response like 'Data Not Yet Available').
  • The team members shortly stated what they are currently working on and explained how they want to use Apache Axis for their purposes. This will be done by providing a custom Provider class which will replace the default Axis Provider class.
  • A short explanation was given to the project coach on how to generate the project documentation from the Maven artifacts.
  • The project coach approved the scope and detail of the documentation that had been written so far.
  • The following two appointments were fixed:

    • 16.11.2004 First Visit Expert (Exact time to be announced by project coach)
    • 11.01.2005 10:00 - 11:00 Defence diploma thesis

Actions to be taken:

  • Check HTTP protocol for possible solutions for signaling clients that data might not yet be available for a long-running synchronous process request.
  • Continue working according to project schedule.

Next meeting: Monday, November 15th 2004

Monday, November 1st 2004

Present were:

  • Eric Dubuis
  • Patric Fornasier (protocol)
  • Pawel Kowalski

Minutes:

  • The team members announced that they are going to use the following approach for the core architecture: The BPEL document will internally be represented as a tree. There is one process controller which incorporates the logic for the various activities and there are n process context objects, one for each process instance.
  • The team members also disclosed that bexee most likely will be built to run in a J2EE web container and not unlike previously assumed in an J2EE application server. This led to the conclusion to use Java Data Objects (JDO) as the persistence mechanism for bexee.
  • P. Kowalski made a comment about what happens when a process can't terminate (e.g. because a link status never evaluates to true). A possible solution two this problem could be two set a time-out or to provide a management function which allows to remove locked processes.
  • The team members agreed on E. Dubuis suggestion that it might be prudent to focus on the most important BPEL activities first (e.g. <receive>, <invoke>, <assign>, etc.) and to consciously leave out less-frequently used BPEL activities (e.g. <pick>)

Actions to be taken:

  • Go through a number of simple examples for the most important BPEL activities.
  • Until the end of the week the project team should have a solid basis and detailed understanding of the core architecture.
  • Get familiar with JDO and check if the file system can be used instead of a DB.

Next meeting: Tuesday, November 9th 2004

Friday, October 29th 2004

Present were:

  • Eric Dubuis
  • Patric Fornasier
  • Pawel Kowalski (protocol)

Minutes:

  • P. Fornasier and P. Kowalski make a short presentation of the current bexee core model with, i.e. the bexee tree model with ProcessTree and the ProcessController concepts. The tree approach is an exceptional one for this kind of problems, but it seems that it's possible to realise bexee using this approach. During this discussion a number of topics are discussed which have to be evaluated.
  • What happens when a ProcessController receives a message for a Receive element but the process is not processing this element?
    • The message gets lost
    • The message is saved for later processing
    • An error or fault is triggered
  • Investigate the following bexee core model alternatives:
    • There is a process blueprint tree and each process instance has its own data tree.
    • There is one process blueprint tree and n controllers.
    • There is one process blueprint tree, one controller and n contexts. In case of this solution it would be possible to memorize actions taken and the time stamps as events. Each event would have a reference on the corresponding process tree element. In this way it would be possible to reconstruct the whole process tree with its instance specific data.
  • Is it really necessary to use a EJB container for bexee? It would be possible to use a Web container instead. The advantages of a EJB container seem not to be very important for bexee. Its use would only restrict bexee e.g. not to use threads. Investigate this!

Actions to be taken:

  • Prepare graphic representations of the structured BPEL activities, e.g. Switch, While, etc.
  • Investigate the mentioned subjects
  • Play though the simple BPEL cases.

Next meeting: Monday, November 1st 2004

Thursday, October 28th 2004

Present were:

  • Eric Dubuis
  • Patric Fornasier
  • Pawel Kowalski (protocol)

Minutes:

  • P. Fornasier and P. Kowalski make presentation about the possible core bexee models. As a result the following possibilities are discussed:
    • A tree model, corresponding to the BPEL XML document structure.
    • A flow graph model, corresponding to the BPEL process.
    • A state machine model

Actions to be taken:

  • Investigate core bexee model

Next meeting: Friday, October 29th 2004

Tuesday, October 25th 2004

Present were:

  • Eric Dubuis
  • Patric Fornasier
  • Pawel Kowalski (protocol)

Minutes:

  • Presentation of the Project Management Documents: Schedule, Organization and Project specification
  • It will be necessary to prioritize functional requirements of the project. An implementation of a BPEL engine is a project of several man years. It will not be possible to implement full functionality of a BPEL engine. The project team has to decide on priorities during the conception and development of the bexee system.
  • The final product will therefore not be a complete BPEL engine, but
    • Running parts of such an engine
    • Test code
    • Documentation
    • etc...

Actions to be taken:

  • Analyze different models for the implementation of the core BPEL engine
  • Architecture proposal as a discussion base.
  • Prioritize bexee functions.

Next meeting: Friday, October 29th 2004

Tuesday 19th October 2004

Present were:

  • Eric Dubuis
  • Patric Fornasier
  • Pawel Kowalski (protocol)

Minutes:

  • Docbook vs. Maven: After the presentation of Maven in use (http://dptool.sf.net), Mr. Dubuis decided that we may use Maven for the bexee project. We'll incorporate different reports in the bexee project site, e.g. checkstyle, code coverage, metrics, etc.
  • The bexee BPEL Execution Engine will be constructed as a server side J2EE application. Thanks to the existing technical infrastructure of an J2EE Application server we'll be able to concentrate on the essential aspects of the bexee engine. For this project the JBoss J2EE Application server will be used.
  • Base J2EE architectural decisions:
    • Within bexee there exist several Business Process blueprints and for each of those blueprints there may exist different instances. Each user of a Business Process must have access to his own instance of a process. The instances of the Business Processes will be modeled as Entity Beans. It is also possible that each Business Process instance be modeled as different Entity Beans.
    • One possible way to execute the processes is to use the Visitor/Visitable GoF pattern. The Visitor would be used to run through a Business Process. In such a case, it is important that the Visitor contains no data an no information about the process. The whole information about the process and the state as well can be found in the process: The information about the state of the process is included in IVisitable elements.
    • Outbound requests from the Application Server should not take too long. In case of outbound Web Service requests, which may potentially take long periods of time we have to consider asynchronous requests and responses using Message Driven Beans and JMS. It is imaginable to split methods that may take a long time to execute in two parts, a request and a response part.

Actions to be taken:

  • Analyze whether the use of the Visitor Pattern for the execution of the business process is appropriate

Next meeting: Monday, October 25th 2004