Final Year Project Huge opportunity to work with Atos Origin India (regarded as one of the leading brands in IT industry worldwide) Curiosity regarding how the IT industry works, as majority of the jobs are IT oriented Willingness to learn new technologies and accept new challenges Software Applications are an integral part of our lives Scenario : Retailer offering TV sets to Consumers (TV delivery being the supply chain module) The application should generate tasks for various departments automatically (Automation) To fulfill orders the Retailer has to manage stock levels in warehouses ( 3 Warehouses considered ) When an item in stock falls below a certain threshold, the Retailer must restock the item from the relevant Manufacturer’s inventory ( One Manufacturer, ‘Sony’ ) In a simple way, our web-application handles the part after an order bill is generated by websites like eBay, Amazon, etc. I have only 3! Please Refill TVs in all my warehouses Warehouse A Send 4 Tvs Send 4 Tvs Warehouse B Retailer Send 4 Tvs Warehouse C 4 Sony TVs I have only 2! I have only 2! Customer A recent study found that supply-chain problems cost companies between 9 and 20 percent of their value over a six-month period Effective supply-chain software tools could save companies billions of dollars No open source application available for Supply Chain Automation Java based- hence can be accessed anywhere Reliable The business process was analyzed and a flow diagram was designed on paper Lets have a look at the Flow Diagram How to implement workflows? A very powerful opensource tool,jBPM comes to the rescue The flow diagram was then implemented using the Graphical Process Designer for jBPM configured in Eclipse IDE jBPM needs Database,MySQL was configured as the database for jBPM jBoss AS was configured to run/host the jBPM process Dynamic Web Project was created for UI pupose Which version of jBPM to be used? ◦ jBPM 4 vs jBPM 3 jBPM4 tools are only half finished and quite buggy The original 'brain' of JBPM has left Redhat and is now working on a competing open source API under the name of 'Activiti‘ Apparently Redhat also already has JBPM5 in development;JBPM4.x is given up for lost for now and the focus for the tool development will be on JBPM5 All is fine and well, but we all want is a working JBPM API that DOES have functional tools. So we stick with old JBPM 3.2.X, which has served well Configuring jBPM 3.2.x with jBoss 5.0 ◦ Fixing jbpm-enterprise.jar The main problem we needed to fix here is the way that the JNDI lookups are done - it tries to use the java:comp/env space, which is off-limits unfortunately We needed to patch some source files to use the real local JNDI names to get things working Luckily we know these JNDI names; they are defined in the jboss.xml descriptor file ◦ Configuring jBoss Data Source file for MySQL Which database to be used? ◦ Although MySQL was directly suggested its important to know why we need to use MySQL when default configuration with HSQL is easier than configuring another database with jBPM ◦ HSQL vs MySQL Hypersonic is a memory-resident test database. The fact that all data is kept in memory accounts for the speed difference.(HSQL is faster) But would HSQL behave well in real situations?(Doubt, implies Not reliable) MySQL is a free 'real' database in the sense that it is used in many production systems and is tested to be reliable. We have released our project under Eclipse public license (Open source license) on Google Code The project has got 31 download hits already Source code hosting with SVN ◦ The project we developed serves on a smaller scale and has a large scope of development to serve the industry ◦ Keeping this in mind we have hosted the project on http://code.google.com/a/eclipselabs.org/p/suppl y-chain-automation/ Sumeer Sinha (sumeersinha@gmail.com) Mayank Tiwari(tiwari.mayank89@gmail.com) Shruti Patro (shruti.patro@gmail.com) Under the guidance of: ◦ Prof. Clara Arackel (Dept. Of Electronics,RAIT) ◦ Mr. Paritosh Wechalekar (Techinal Manager, Atos Origin India)