{"id":479,"date":"2022-11-21T19:25:42","date_gmt":"2022-11-22T00:25:42","guid":{"rendered":"https:\/\/robertweatherford.com\/wordpress\/?page_id=479"},"modified":"2022-11-21T19:25:42","modified_gmt":"2022-11-22T00:25:42","slug":"acommserver","status":"publish","type":"page","link":"https:\/\/robertweatherford.com\/index.php\/professional-life\/closed-projects\/2000s\/acommserver\/","title":{"rendered":"ACommServer"},"content":{"rendered":"\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/i0.wp.com\/robertweatherford.com\/wordpress\/wp-content\/uploads\/2022\/11\/acommserver1.gif?ssl=1\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"599\" src=\"https:\/\/i0.wp.com\/robertweatherford.com\/wordpress\/wp-content\/uploads\/2022\/11\/acommserver1.gif?resize=800%2C599&#038;ssl=1\" alt=\"\" class=\"wp-image-163\" data-recalc-dims=\"1\"\/><\/a><figcaption class=\"wp-element-caption\">2000 \u2014&nbsp;<a href=\"http:\/\/www.adp.com\/\"><em>Automatic Data Processing, Inc<\/em>.<\/a><\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Introduction<\/h3>\n\n\n\n<p>Designed and implemented a communications server application for use in their 3-tier payroll system. My application provided the layer between the client\u2019s Java application software and the mainframe.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Architecture<\/h3>\n\n\n\n<p>Java web clients post requests to a database which are picked up by this application, which queue communication sessions with the mainframe. The results are the picked up by the web clients.<\/p>\n\n\n\n<p>There are three panes in the application window<\/p>\n\n\n\n<ol>\n<li><em>DeviceView<\/em>&nbsp;displays the TAPI devices (usually modems) in the machine, along with the status of each device.<\/li>\n\n\n\n<li><em>RequestView<\/em>&nbsp;displays the requests posted by the clients, and their current status.<\/li>\n\n\n\n<li><em>EventView<\/em>&nbsp;displays an event log of the entire application.<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">Development<\/h3>\n\n\n\n<p>I designed and implemented the entire application using&nbsp;<em>Visual C++<\/em>, including the design document in&nbsp;<em>Microsoft Word<\/em>.&nbsp;<em>Visual SourceSafe<\/em>&nbsp;was used as the project&#8217;s source code control system.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Technologies<\/h3>\n\n\n\n<ul>\n<li><em>C++<\/em>&nbsp;and&nbsp;<em>MFC<\/em>&nbsp;were the language and library used.<\/li>\n\n\n\n<li><em>Multithreading<\/em>&nbsp;was used to instantiate the communication sessions.<\/li>\n\n\n\n<li><em>TAPI<\/em>&nbsp;C interface was wrapped into a C++ class.<\/li>\n\n\n\n<li><em>SQL<\/em>\u00a0was used in creating the \u201cIO Classes\u201d to communicate with the database. The product supported multiple database engines.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Conclusion<\/h3>\n\n\n\n<p>The project contained 56k lines of C++ code and a 30 page design document.<\/p>\n\n\n\n<p>You can click on an icon below (use the arrows to scroll the icon list) and see the screen shot and a description<\/p>\n\n\n\n<div class=\"alignnormal\"><div id=\"metaslider-id-481\" style=\"max-width: 464px;\" class=\"ml-slider-3-70-2 metaslider metaslider-nivo metaslider-481 ml-slider ms-theme-default\" role=\"region\" aria-roledescription=\"Slideshow\" aria-label=\"ACommServer\">\n    <div id=\"metaslider_container_481\">\n        <div class='slider-wrapper theme-default'><div class='ribbon'><\/div><div id='metaslider_481' class='nivoSlider'><a href=\"https:\/\/i0.wp.com\/robertweatherford.com\/wordpress\/wp-content\/uploads\/2022\/11\/acommserver4.gif?ssl=1\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" width=\"464\" height=\"426\" src=\"https:\/\/i0.wp.com\/robertweatherford.com\/wordpress\/wp-content\/uploads\/2022\/11\/acommserver4.gif?fit=464%2C426&amp;ssl=1\" class=\"slider-481 slide-489\" alt=\"\" data-caption=\"\" data-thumb=\"\" title=\"acommserver4\" rel=\"\" \/><\/a><a href=\"https:\/\/i0.wp.com\/robertweatherford.com\/wordpress\/wp-content\/uploads\/2022\/11\/acommserver5.gif?ssl=1\" target=\"_self\"><img loading=\"lazy\" decoding=\"async\" width=\"464\" height=\"426\" src=\"https:\/\/i0.wp.com\/robertweatherford.com\/wordpress\/wp-content\/uploads\/2022\/11\/acommserver5.gif?fit=464%2C426&amp;ssl=1\" class=\"slider-481 slide-490\" alt=\"\" data-caption=\"\" data-thumb=\"\" title=\"acommserver5\" rel=\"\" \/><\/a><a href=\"https:\/\/i0.wp.com\/robertweatherford.com\/wordpress\/wp-content\/uploads\/2022\/11\/acommserver6.gif?ssl=1\" target=\"_self\"><img loading=\"lazy\" decoding=\"async\" width=\"464\" height=\"426\" src=\"https:\/\/i0.wp.com\/robertweatherford.com\/wordpress\/wp-content\/uploads\/2022\/11\/acommserver6.gif?fit=464%2C426&amp;ssl=1\" class=\"slider-481 slide-491\" alt=\"\" data-caption=\"\" data-thumb=\"\" title=\"acommserver6\" rel=\"\" \/><\/a><a href=\"https:\/\/i0.wp.com\/robertweatherford.com\/wordpress\/wp-content\/uploads\/2022\/11\/acommserver3.gif?ssl=1\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" width=\"336\" height=\"244\" src=\"https:\/\/i0.wp.com\/robertweatherford.com\/wordpress\/wp-content\/uploads\/2022\/11\/acommserver3.gif?fit=336%2C244&amp;ssl=1\" class=\"slider-481 slide-488\" alt=\"\" data-caption=\"\" data-thumb=\"\" title=\"acommserver3\" rel=\"\" \/><\/a><a href=\"https:\/\/i0.wp.com\/robertweatherford.com\/wordpress\/wp-content\/uploads\/2022\/11\/acommserver2.gif?ssl=1\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" width=\"350\" height=\"184\" src=\"https:\/\/i0.wp.com\/robertweatherford.com\/wordpress\/wp-content\/uploads\/2022\/11\/acommserver2.gif?fit=350%2C184&amp;ssl=1\" class=\"slider-481 slide-486\" alt=\"\" data-caption=\"\" data-thumb=\"\" title=\"acommserver2\" rel=\"\" \/><\/a><\/div><\/div>\n        \n    <\/div>\n<\/div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Introduction Designed and implemented a communications server application for use in their 3-tier payroll system. My application provided the layer between the client\u2019s Java application software and the mainframe. Architecture Java web clients post requests to a database which are picked up by this application, which queue communication sessions with the mainframe. The results are [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":147,"menu_order":-2000,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"jetpack_sharing_enabled":true,"jetpack-related-posts":[],"_links":{"self":[{"href":"https:\/\/robertweatherford.com\/index.php\/wp-json\/wp\/v2\/pages\/479"}],"collection":[{"href":"https:\/\/robertweatherford.com\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/robertweatherford.com\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/robertweatherford.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/robertweatherford.com\/index.php\/wp-json\/wp\/v2\/comments?post=479"}],"version-history":[{"count":4,"href":"https:\/\/robertweatherford.com\/index.php\/wp-json\/wp\/v2\/pages\/479\/revisions"}],"predecessor-version":[{"id":537,"href":"https:\/\/robertweatherford.com\/index.php\/wp-json\/wp\/v2\/pages\/479\/revisions\/537"}],"up":[{"embeddable":true,"href":"https:\/\/robertweatherford.com\/index.php\/wp-json\/wp\/v2\/pages\/147"}],"wp:attachment":[{"href":"https:\/\/robertweatherford.com\/index.php\/wp-json\/wp\/v2\/media?parent=479"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}