{"id":154,"date":"2015-09-02T18:50:02","date_gmt":"2015-09-02T18:50:02","guid":{"rendered":"http:\/\/mlapshin.com\/?page_id=154"},"modified":"2017-03-01T07:23:30","modified_gmt":"2017-03-01T07:23:30","slug":"daimler","status":"publish","type":"page","link":"https:\/\/mlapshin.com\/index.php\/projects\/daimler\/","title":{"rendered":"Daimler System"},"content":{"rendered":"<p>It is the most complicated enterprise-level system I ever worked with. It consists of more than ten big parts including the main SAP-based system, several legacy systems, Informatica MDM Hub and a number of smaller components interconnected by JMS, EJB and web services. The purpose of the system as you could guess relates to production of big Daimler trucks.<\/p>\n<p>In this project I lead the development of a BDD-like system sharpened for a particular data schema and able to work with an older Hub version. Also I worked on the integration of MDM Hub with the main SAP-based system using JMS.<\/p>\n<h3>The team<\/h3>\n<p>In this project I worked together with two my colleagues on the Russian\u00a0side. There were several guys around the world who developed other system parts. I was responsible for design and implementation of CustomGUI application. I helped to design Lombardi workflows. We had to take on responsibility for JMSProcessor and PartyWeb-Services when they were almost finished by other guys. So, my tasks were code refactoring, bug fixing and creation of documentation.<\/p>\n<h3>Architecture<\/h3>\n<p>The part of the system we worked on consisted of the following parts:<\/p>\n<ul>\n<li><strong>CustomGUI application.<\/strong> It is an analogue of the BDD system, but sharpened for a particular data schema and able to work with an older Hub version. The application is built on different technologies than BDD: Struts2 + REST plugin, ExtJS JavaScript library, Spring, OGNL<\/li>\n<li><strong>Lombardi workflows.<\/strong> CustomGUI application uses Lombardi Teamworks software to support different business workflows.<\/li>\n<li><strong>JMSProcessor.<\/strong> It is the entry point for data from the main SAP-based system. It parses data from incoming JMS messages and uses PartyWebServices component to store data in the Hub. Technologies: JMS, EJB, Castor, WebSphere, web services<\/li>\n<li><strong>PartyWebServices.<\/strong> Provides web service API that allows to work with the Hub in a simple and robust way.<\/li>\n<\/ul>\n<h3>Interesting and Boring<\/h3>\n<ol>\n<li>It was interesting to work with such a large system. I got a lot of hands-on experience with WebSphere application server, DB2 and AIX OS.\n<ol>\n<li>It was cool that I could avoid heavy BDD concepts, create a new project with my own architecture and used lightweight ExtJs library<\/li>\n<\/ol>\n<\/li>\n<li>A\u00a0lot of manual reading was a bit boring<\/li>\n<li>Interesting bugs:\n<ol>\n<li>We used IBM java SDK. It has own implementation of HashTables. It broke the sort order in results of some SIF API calls.<\/li>\n<li>Struggling with WebSphere tuning.<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"<p>It is the most complicated enterprise-level system I ever worked with. It consists of more than ten big parts including the main SAP-based system, several legacy systems, Informatica MDM Hub and a number of smaller components interconnected by JMS, EJB&hellip; <br \/><a class=\"read-more-button\" href=\"https:\/\/mlapshin.com\/index.php\/projects\/daimler\/\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":140,"menu_order":40,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-154","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/mlapshin.com\/index.php\/wp-json\/wp\/v2\/pages\/154","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mlapshin.com\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/mlapshin.com\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/mlapshin.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mlapshin.com\/index.php\/wp-json\/wp\/v2\/comments?post=154"}],"version-history":[{"count":5,"href":"https:\/\/mlapshin.com\/index.php\/wp-json\/wp\/v2\/pages\/154\/revisions"}],"predecessor-version":[{"id":234,"href":"https:\/\/mlapshin.com\/index.php\/wp-json\/wp\/v2\/pages\/154\/revisions\/234"}],"up":[{"embeddable":true,"href":"https:\/\/mlapshin.com\/index.php\/wp-json\/wp\/v2\/pages\/140"}],"wp:attachment":[{"href":"https:\/\/mlapshin.com\/index.php\/wp-json\/wp\/v2\/media?parent=154"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}