Debrah et al • Design and Implementation of an Integrated Web Application for the Motor Traffic... 52 Design and Implementation of an Integrated Web Application for the Motor Traffic and Transport Directorate of the Ghana Police Service Emmanuel Opoku Debrah1, Jamal-Deen Abdulai1, Isaac Wiafe1 and Ferdinand Apietu Katsriku1* 1Department of Computer Science, University of Ghana *Corresponding author: fkatsriku@ug.edu.gh ABSTRACT A major challenge facing most organisations is how to share data and services in a timely and cost effective manner to simplify business processes. Integrating new application modules or devices with an existing system smoothly and without any discernible errors or complications is a major issue. A framework for creating rapidly loosely coupled service applications components, the Service Oriented Architecture (SOA), which meets time and cost constraints, has been proposed. In this paper, we report on the adoption of an iterative approach to implement an integrated web based information system for the Motor Transport and Traffic Directorate (MTTD) of the Ghana Police Service. The system is developed as a set of independent web applications sharing a database to provide a single and easy point of information access. In each iteration, a composite of the system is designed and tested, thus meeting the project design objectives. Keywords: Ghana Police Service, Service Oriented Architecture, database, web services Background The Motor Traffic and Transport Directorate (MTTD) The activities of the MTTD are classified into four is a division under the Ghana Police Service. It was categories in terms of its operations, ticket processing, formerly known as the Motor Traffic and Transport Unit. insurance records, accident records, and driver licensing The directorate is responsible for all road safety in the units. Current methods used by the MTTD are outdated, Country (Motor Transport and Traffic Directorate). The slow and provide very little possibility of integration, Directorate became part of the Ghana police Service in causing duplication of data throughout their processes 1952 and is headed by the Commander of MTTD who (Alonso, 2004). In this work, we demonstrate how reports to the Inspector General of Police (IGP). the agile development module principles may be used together with web service as underlying implementation The main duties of the MTTD are to educate the public technology to develop and integrate a system for the about accident precautions, train personnel to arrest MTTD. drivers who violate the traffic law and regulations, and work with other stakeholders such as the National Web based information systems: The information Road Safety Commission (NRSC) and Driver Vehicle system of the MTTD may be viewed as consisting of and Licensing Authority (DVLA) in ensuring deriver individuals, computer devices and equipment with the safety on the roads. They are also responsible for the relevant software programs, a dynamic database, and compilation and publication of all road accident statistics organisational practices that interact in a recommended in the country, as well as traffic control and management. systems configuration. The system is designed to record, store, update, and expedite the automation of Science and Development Volume 2, No. 1, 2018 Debrah et al • Design and Implementation of an Integrated Web Application for the Motor Traffic... 53 data usage on a persistent basis. The data thus stored • An Entity Service: information system entities and its administration are interconnected to members like staff, ticket, license and reports provide the of the organisation, police officers, clients (in this case foundation for this kind of activity and place a the drivers), external users (of which the insurance practical limitation on the context within which companies are example) and other law enforcement these entities might be used. agencies who depend on the MTTD information • Task Service: this is an information system service systems for information. The main purpose of the whose functional boundary is directly related to an information management system is to meet operational explicitly defined business task or process. needs of the unit and to facilitate information reporting • Utility Service: this is an application service and data analytics relevant to promoting road safety. providing reusable service functions of a non- The information system also permits the exchange business-centric nature. Such service functionalities of information among the various stakeholders may include event logging, reports and exception (Whisenand, 1971). handling to other entities and task services. Service Oriented Architecture (SOA) The design goals of SOA are to achieve the following, among other things: loose coupling, reusability, Whilst there is no universal agreement in the literature on standardized service contract, abstraction, composability, the meaning of Service Oriented Architecture (SOA), it autonomy, statelessness and discoverability of services is generally acknowledged that the underpinning notion (Endrie, 2004; Erl, 2008b). The benefits associated with is service-centric distributed computing. A service may SOA include its ability to leverage the use of existing be viewed as a self-contained logical representation assets, the ease with which it can integrate and manage of a business activity with a specified outcome. Such complexity, the more reactive and faster time-to-market an activity must be repeatable and may be made up of that it provides and its cost reduction and increased other sub services. In this paper, we adopt the definition reusability. by Organization for the Advancement of Structured Information Standards (OASIS), which is believed to The SOA framework is not without its challenges and be more inclusive and complete than other definitions should not be seen as a silver bullet for systems design proposed in the literature. SOA is defined by OASIS as A (Fuerlicht, 2006; Erl, 2008a). The adoption of this paradigm for organizing and utilizing distributed capabilities framework increases design complexity. It also requires that may be under the control of different ownership domains. an agreed design standard, as this increases uniformity It provides a uniform means to offer, discover, interact with and compatibility throughout the diverse segments of and use capabilities to produce desired effects consistent the system. There also would be the need for governance with measurable preconditions and expectations (W3C, structures to be put into place to ensure that laid down 2007). We may then infer that the term capability is processes are adhered to. central to this concept. A capability may denote a set of The reported work was aimed at integrating the database functionalities or techniques implemented for a specific systems for the Eastern Regional Motor Transport business process or sub-process, implying that a group of and Traffic Directorate of the Ghana Police Service. capabilities may also be viewed as a service. Therefore, A consolidated service bus was used to simplify the from the perspective of SOA, a service not only refers interoperability of applications across platforms to a set of capabilities, but also to all related capabilities (Web application, Mobile Application), enhance which can be grouped together to be used by diverse communication within the MTTD infrastructure business processes. From the foregoing, three types of and create an enabling ecosystem for a new layer of services under SOA implementation may be identified abstractions to be added without the need to modify the (Erl, 2008a): Science and Development Volume 2, No. 1, 2018 interoperability of applications across platforms (Web application, Mobile Application), enhance communication within the MTTD infrastructure and create an enabling ecosystem for a new layer of abstractions to be added without the need to modify the complete system. The three services (Fig 1b) were developed as freely coupled services and dependability attributes, namely security, embedded within them to include authentication and encryption as well as reliability. An evaluation process was conducted to show that by implementing systems as web services, MTTD is able to obtain the declared advantages of an SOA model, particularly those linked with the flexibility of web services to the underlying business environment. The challenge confronting the MTTD is to have an information system to control their operations and provide road duty officers access to the system using a mobile application to verify drivers’ information. To tackle the problem, the following two solutions are proposed: i. First, design and implement an integrated information system for the organization, which handles Debrah et al • Design and Implementation of an Integrated Weabll Athpep foliucra dteipoanrtm foenrt st hofe t hMe oortgoarn iTsraatioffni.c ... 54 ii. Implement web services with mobile application to connect to the MTTD information systems. Web-services implementation was suggested as an option which facilitates the amalgamation of mobile applications with other heterogeneous web applications. Fig 1 shows the proposed complete system. The three services (Figure 1b) were integrated system. developed as freely coupled services and dependability attributes, namely security, embedded within th em to include authentication and encryption as wel l as reliability. An evaluation process was conducted to sh ow Report system that by implementing systems as web services, MTTD is able to obtain the declared advantages of an SOA mo del, particularly those linked with the flexibility of web services to the underlying business environment. Database The challenge confronting the MTTD is to have an Accident system Integration Ticket system information system to control their operations and provide road duty officers access to the system using a mobile application to verify drivers’ information. To tackle the problem, the following two solutions were proposed: License system i. First, design and implement an integratedF ig 1a Proposed information system architecture for MTTD information system for the organization, which handles all the four departments of the organisation (Fig. 1a). Fig. 1a: Proposed information system architecture for MTTD ii. Implement web services with mobile application to connect to the MTTD information systems. Web-services implementation was suggested as an option which facilitates the amalgamation of mobile applications with other heterogeneous web applications. Figure 1b shows the proposed integrated system. Fig 1b PFroipgo.s e1d bIn:t ePgrraotepd oSyssetemds I ntegrated Systems Non-Functional Requirement The Non-functional requirement listed in Table 1 applies to all the four systems that were designed. Science and Development Volume 2, No. 1, 2018 Debrah et al • Design and Implementation of an Integrated Web Application for the Motor Traffic... 55 Table 1: Non-functional Requirements SN Non-functional Requirements Relevance Description 1 System Performance Key A key requirement is system performance; this should be adequate and fast to provide a good user experience. 2 User Friendly Environment Key A simple and user friendly system interface is an essential requirement. 3 Application Maintenance Key Clear documentation on the application and its maintenance needs to be provided. 4 Paging Required When dealing with large chunks of data, system should be capable of splitting these data using data paging and present the information in a user-friendly format. 5 Application Scalability Required System should be easily scalable; such flexibility will enable future growth. 6 Platform Independence Required System should be capable of being deployed on any platform. Non-Functional Requirement work with. As an example, the license system must issue The Non-functional requirement listed in Table 1 applies drivers’ licenses and capture drivers’ details before the to all the four systems that were designed. ticket processing system can record a ticket for a driver. This doesn’t mean that the ticketing processing system MT TD cannot run without the license system; it will, but it will Data base not get the data needed to function effectively. Again, the reporting system depends on the ticketing processing system, the accident processing system and the license system to generate the needed report for third parties including insurance companies. The reporting Ticket Accident License Reporting system can run even if all the three systems are down, but processing processing system system will not be consistent with Schmidt’s (2005) claim. In system system this case, even though the system is available, it cannot be reliable (Schmidt, 2005). The entire system is managed Fig. 2: Context diagram for the MTTD system by one administrator who assigns roles and permissions. Figure 2 Context diagram for the MTTD system Figure 2 shows the context diagram for the entire MTTD Even though each syssytesmte ompe. rThatese sseep sayrastteelym frso mw ethree o dtheesri, gthneeyd a rteo i nbteeg hraotesdt eind a o wna yt htoe s hare tShey satmeem Implementation and Testing database. This measnas mtheat waneyb soef rtvhee rs tyost esmhas rcea na cruonm frmomo na ddiaftfearbenats ew. ebserver; once the dThataeb asiem plementation phase involved modelling the integration connection points to the database, it should be able to work perfectly without any problem. Any Even though each system oper solution, coding the solution using PHP script language of the above systems can run independently with or without tahtee ost hseerp syasrtaetmesl ya sf lroonmg a st hthee database is up and running, even thootuhgehr s, otmhee oyf tahreem idnetpeegnrda otne dea cinh oath ewr afoy and MySQL database for the various web applications r dtaot a stho awroer kt hweit hs. aAms aen example, the license system mustd isastuaeb darsivee.r sTh’ licisen msese aands c atphat any of the s within the MTTD information system, and adopting a ture drivers’ details byesftoerem thse ctiacnke tr purnoc essing system can record a ticket fforro am dr iav edri. ffTehrise dnt we REST architectural style for building web services. The oesn’tb mseearnv ethra;t othnec teic tkhetein dg aptraobceasssein ign styesgtermat cioann ot run without the license system; ict ownilnl, ebcutt iiot wni lpl nooitn gtest tthoe dthatea ndeaedtaebd atos efu, nictt isohn oefufeldct be able to MTTD web based integrated system is implemented as ively. work perf ctly without any problem. Any of the above several services interacting with each other in a loosely Again, the reporting system depends on the ticketing processing system, the accident processing system systems c n run indep ndently with or without the other coupled fashion to achieve the intended objectives. The and the license system to generate the needed report for third parties including insurance compansieesr. vTihcee systems is implemented on a web server which provides reporting system can run even aifs a llol tnhge tahrse et hsyes tdematsa abrae sdeo wisn ,u bpu t awnidll nrout nbne icnogns,i setvenetn w ith Schmidt’s access to the service using HTTP protocol. Figure 3 (2005) claim. In thist hcaosue,g ehv esno tmhoeug oh ft hteh seymste mde ips eavnadil aoblne, eita cahn not hbe rr efloiarb lde a(Stach tmoi dt, 2005). The depicts the overall system architecture. entire system is managed by one administrator who assigns roles and permissions. Science and Development Volume 2, No. 1, 2018 System Implementation and Testing The implementation phase involved modelling the solution, coding the solution using PHP script language and MySQL database for the various web applications within the MTTD information system, and adopting a REST architectural style for building web services. The MTTD web based integrated system is implemented as several services interacting with each other in a loosely coupled fashion to achieve the intended objectives. The service is implemented on a web server which provides access to the service using HTTP protocol. Figure 3 depicts the overall system architecture. Debrah et al • Design and Implementation of an Integrated Web Application for the Motor Traffic... 56 Web/Application Server Apache 2.2.11 Web Integrated MTTD Web App Browser Ticket system System User Accident system License system HTTP(s) Mobile Report App system Mobile MySQL Users Fig. 3: Overall system architecture Th e web applications were developed using PHP 5.3.0 contain information from the database. This information wh ich is a common server scripting language that offers will be stored within a MySQL database, located on developers the capability to develop web applications the same server that hosts the MTTD Information bas ed on the Model, View and Controller (MVC) system. MySQL is an open source Relational Database par adigm. The MVC paradigm offers a development Management System (RDBMS) and this informed its environment that tends to disconnect the application choice. In addition to the fact that it is freely available, it logFicig “ucroen t3ro Ollevre”r afrlol msy sUtseemr- inartecrhfaitceec t“uvrieew ” and also is also relatively light compared to other RDBMS such as fro m the data manipulation layer “model”. This separation ORACLE. The MTTD application database will consist preTsehnet sw developers with the flexibility to alter any of the of alayers “conetbro laleprp, vliiceawt ioorn mso wdeel”r ew idtheovuetl orepqeudir iunsgi nthge mP HP 5lic.3en. 0n uwmhbicehr oisf taa bcleosm tmo omna nsaegrev ethr es ctircikpetti,n gac cident, se and report processing. to lmaankgeu cahgaen gthesa to o oftfheerrs ladyeevres.l Foopre crosm thpele cxa spysatbemilist yth tios develop web applications based on the Model, flexibility has great advantages. It also gives the developer a rich and varied set of scripts that helps to generate a8 Web Applications implementation details nu mber of common functions automatically. On the As shown in Figure 2, there are four (4) main components other hand, mobile application WS was developed using of the MTTD web applications developed: the ticket PHP Mysql with RestFul Web Service. processing system, license processing system, accident processing system and report system. Database implementation Storing and recalling data is one of the key elements within the integrated MTTD web applications. The MTTD web service URI acts as a resource which must Science and Development Volume 2, No. 1, 2018 Debrah et al • Design and Implementation of an Integrated Web Application for the Motor Traffic... 57 First Iteration: Implementation of Ticket processing Implementation of Report system system The fourth and final iteration was the implementation of At the first iteration, we implement the ticket processing the reporting system. The report processing system is the system. The ticket processing system has three (3) user third independent web application that was integrated permission levels: the police clerk, the court clerk and into the existing integrated system to share the same the administrator. The administrator is responsible for database. managing user accounts and permission. Implementation details of WS Second Iteration: Implementation of Accident processing system To implement web services, a WS stack and APIs are required. The WS used in this work was created At the second iteration the accident processing system is using RestFul web service with PHP. REST is a simple implemented. The accident processing system is the first stateless architecture that generally runs over HTTP. independent web application that was integrated into The REST web services system produces a status code the ticket processing system to share the same database. response in JSON or XML format. The main purpose Figure 4 shows a screenshot of the database connection for implementing the web service is to authenticate string that was used for the integration. and search for drivers’ license information outside the domain of the MTTD information system. // Database connection info MTTD Mobile Application var $Host = ‘127.0.0.1’; In order to implement and test the web service, a small var $Port = ; mobile application was developed to make a system var $Username = ‘accident’; call to the MTTD web services application developed var $Password = ‘@accident’; in this project. This mobile application was developed var $DbName = ‘spbase’; on Android platform and allows an officer to check the 3306 validity of driver license information. Testing Fig. 4: Database connection for accident processing system Driver information and officer details were verified Figure 4 Database connection for acdcuirdinegn tth ep rteosctse scsoinndgu cstyeds.t eGmoo gle chrome Advance REST client was used to test the WS created. Login TThhiirrdd I tIetreartaiotnio: nIm: pImlempleenmtaetniotna toiof Lni coefn Lsei cense procersesqiunegst s aynsdt reemsp onse web services were tested and Figure Aprto ctheess itnhgir sdy sitteermation we implement the license pro5c sehsoswins gt hsey osutetpmu.t tTeshte r elsiuclet.n Iste m paryo bcee ssseienng t hat the details were successfully verified within 365ms. sAyts tethme itsh irtdh ei tesreactioonnd wine deimpepnledmeenntt wtheeb laicpepnlsiec ation that was integrated into the existing processing system. The license processing system is the isnecteognrda itnedde pseynsdteenmt ,w ewbh aipcphli ccaotimonp trhiaste ws atsh inet etgicrakteedt processing system and accident processing sinytsot ethme, e txois tsihnga rien tethgrea tseadm syes tdeamta, wbahsiceh. cTohmep driasetas bthaes e integration was done using a PHP database ticket processing system and accident processing system, ctoo nshnaerce ttihoen s asmtrein dga tsaibmasiel.a Thr teo dtahtaabt aussee idnt feogrra tthioen awcacsi dent processing system. done using a PHP database connection string similar to Ithmatp ulesemd efonrt tahtei oacnc iodfe nRt peproocrests sinygs styesmte m. The fourth and final iteration was the implementation of the reporting system. The report processing system is the third independent web application that was integrated inStoci etnhcee eaxndis Dtienvgel opment Volume 2, No. 1, 2018 integrated system to share the same database. Implementation details of WS To implement web services, a WS stack and APIs are required. The WS used in this work was created using RestFul web service with PHP. REST is a simple stateless architecture that generally runs over HTTP. The REST web services system produces a status code response in JSON or XML format. The main purpose for implementing the web service is to authenticate and search for drivers’ license information outside the domain of the MTTD information system. MTTD Mobile Application In order to implement and test the web service, a small mobile application was developed to make a system call to the MTTD web services application developed in this project. This 10 Testing Driver information and officer details were verified during the tests conducted. Google chrome Advance REST client was used to test the WS created. Login request and response web services were tested and Figure 5 shows the output test result. It may be seen that the details were successfully verified within 365ms. Debrah et al • Design and Implementation of an Integrated Web Application for the Motor Traffic... 58 200 Success Loading time 365 ms 200 Success Loading time 324 ms CSP: active CSP: active Origin: chrome- Origin: chrome- extension://hgmloofddffdnphfgcellkdfbfbjeloo extension://hgmloofddffdnphfgcellkdfbfbjeloo User-Agent: Mozilla/5.0(Windows NT 6.3; User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64)AppleWebKit/537.36 (KHTML, like Gecko) WOW64)AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.134 Safari/537.36 Chrome/43.0.2357.134 Safari/537.36 Content-Type: multipart/form-data; Content-Type: application/x-www-form-urlencoded boundary=ARCFormBoundarycqdapu96zb0529 Accept: */* Accept: */* Accept-Encoding: gzip, deflate Accept-Encoding: gzip, deflate Accept-Language: en-US, en;q=0.8 Accept-Language: en-US, en;q=0.8 Cookie: PHPSESSID=oi32m455915bomjbfgoh8mbip5 Cookie: PHPSESSID=oi32m455915bomjbfgoh8mbip5 Date: Mon, 20 July 2015 12:10:07 GMT Date: Mon, 20 July 2015 12:05:35 GMT Server: Apache/2.2.11 (Win32) PHP/5.3.0 Server: Apache/2.2.11 (Win32) PHP/5.3.0 X-Powered-By: PHP/5.3.0 X-Powered-By: PHP/5.3.0 Content-Length: 50 Content-Length: 50 Keep-Alive: timeout=5, max=100 Keep-Alive: timeout=5, max=100 Connection: Keep-Alive Connection: Keep-Alive Content-Type: application/json Content-Type: application/json Fig. 5: Test result of login to the web service and FF iigg. u6:r eTe 6st T reessutl tr eosf uselta rocfh s feoar rlicche nfsoer d leictaeinlss we edbe tails web service and response time response time. Figure 5 Test result of login to tsheer vwicee ban sde rrevspicoense an tidm eresponse time. A drive r license search using web service was also FFiigguurere 7 7de pdiecptsi cthtse othuetp uotu otfp tuhte owfe bt hseer vwiceeb f rosmer vthice e from the database in JSON format to be conducted and Figure 6 shows the output results. As can database in JSON format to be consumed by the mobile be seenA, th de rrievspeor nlsiec etinmsees saerea rrecahs ounsaibnlyg gwooedb. Bsye ruvsiincge wasac poapnllssicoua mtciooennd d abunydc taethndey aomnthdoe bFr iifluget uuarrpeep a6lpi cspahlitociaowtniso nat nhwdeh oiacnuhty pw uoiltlh er future application which will need driver an onlinres fureltes .o Apesn csaonu rbce tseesetin,g tthoeo lr ecaslpleodn sAeg itlilmoaeds areni nreefeodar smdornaivateiborl nyin gffororoommda. t itBohnye furMosmiTn gTth Daen M ionTTnfolirDnme i anftrfioeorenm oasptyieosnnte m for implementation. A free online tool, (Optimise your load and performance testing costs, system for implementation. A free online tool, Chrome 2015), saoll usrecrevi cteess tainndg tthoeoirl fcuanlcletido nAalgitiilelso wader e(O tepstteimd ise yACodhuvraron mlcoeea dRA EadSnvTda npccleieer fnRot,rE mwSaaTsn cculesi eetdne ts,ft oiwnr gats hc iuos sstetesds,t fi2no0gr 1 ta5hn)ids, testing and evaluation. and shoawlln s etor vbiec ewso arknidn gt.h Ieti rc afnu nbcet isoeenna ltihtiaet sa wderirvee rt esteedv aalnudat isohno.wn to be working. It can be seen that a license dserairvcehr w liacs esnucscee sssefaurllcyh c ownadsu cstuecdc ines 3s2f4umllsy. conducted in 324ms. 11 Science and Development Volume 2, No. 1, 2018 12 Debrah et al • Design and Implementation of an Integrated Web Application for the Motor Traffic... 59 was used to ensure secure password storage within the dateIssue: ‘’2015-06-16’’ drvName: “SAMUEL APPIAH MENSAH” database and a PHP function was put together to validate drvDOB: “1993-04-20” user sessions upon accessing any page within the system. drvAddress: “OBOC WEWEW MMER” The requirement for a secure login with a separate user drvRestriction: “Active” } account was implemented satisfactorily. An additional -3: { security session checking script was an added advantage drvLicenseNo: “LIGH10202” to the system. dateIssue: ‘’2015-05-12’’ drvName: “EMMANUEL APPIAH” A password change in the script was implemented drvDOB: “1989-02-07” drvAddress: “BOX 98111” successfully to enable users change their passwords when drvRestriction: “Active” necessary. } - 4: { File Management: One of the key functional requirements drvLicenseNo: “LO23124” was file management. This included the ability to view, dateIssue: ‘’2015-06-26’’ edit and add client tickets, accident files and driver drvName: “MARTIN OFFEI” drvDOB: “1978-06-14” licence information with ease. All of these requirements drvAddress: “KOFORIDUA” were implemented into the system along with the drvRestriction: “Active” addition of policy categorisation, meaning that this area } - 5: { of functionality was met fully. It is also worth noting that drvLicenseNo: “LO23126” the addition of touches such as a JavaScript function dateIssue: ‘’2015-06-27’’ to change which policy type to insert, means that the drvName: “TIE LINCOLN” final system actually delivers more than the original drvDOB: “1973-12-12” drvAddress: “P. O. BOX 88232 requirements laid out. KOFORIDUA” drvRestriction: “Active” Reports: The reports were implemented into the system } in such a way that both an HTML format (for printing - 6: { or storing) and a CSV format (for use in a spread sheet drvLicenseNo: “6” dateIssue: ‘0000-00-00’’ program) report could be generated. This was useful for drvName: ‘’2015-06-27’’ MTTD in terms of the flexibility offered with the data the drvDOB: “0000-00-00” system outputted, as their requirements for the layout drvAddress: “1973-12-12” drvRestriction: “P. O. BOX 88232 and format could change in the future. KOFORIDUA” } Data Integrity and Security F i g. 7: JSON Output of the implemented web service An area of concern was the future migration of data from the new system. However, choosing to utilise a MySQL Figure 7 JSON Output of the implemented web service database meant that exporting the data would not be a particularly challenging task – obviously conversion E valuation of this data to fit a new systems format would require A number of key parameters were identifie1d3 a t the start some work, but the main requirement was that the data f or the purposes of evaluation. could be accessed and moved if needed – which it can. To ensure the integrity of the systems data, validation Secure Login: A secure login was implemented successfully was implemented onto user input forms. Through the for all the various web applications, allowing multiple use of JavaScript to immediately alert the user to any user accounts to access the system. Hash md5 algorithm incorrectly formatted data, the system was able to remain Science and Development Volume 2, No. 1, 2018 Debrah et al • Design and Implementation of an Integrated Web Application for the Motor Traffic... 60 user friendly whilst enforcing data format rules. System References testing ensured that this validation worked correctly Alonso, G., Casati, F., Kuno, H. & Machiraju, V. throughout and as a result, data integrity within the (2004). Web Services. Concepts, Architectures and database was assured. Application. Springer, Berlin. The security of the system and data was enforced through Endrie, M., Ang J., Arsanjani, A., Chua, S., Comte, P., two measures. Krogkahl, P., Luo, M. & Newling, T. (2004). 1. A secure user login and session authentication script Service Oriented Architecture and Web Services. ensured system access was only granted with the IBM Red Book, 2004. [E-book]. correct credentials. Erl, T. (2008a). SOA Principles of Service Design. Boston, 2. SQL injection and hacking attempts were prevented MA: Prentice Hall. through the implementation of a character stripping Erl, T. (2008b). Service-Oriented Architecture Concepts, and validation function. Technology and Design. Boston: Pearson Education Inc. Conclusion Fuerlicht, G., (2006). “Enterprise SOA: What are the benefits and challenges,” presented at System This paper has reported on the implementation of Integration Conference, (pp. 1-8), Czech an integrated usable web application for the various Republic. operations of the MTTD of the police service of Ghana Motor Transport and Traffic Directorate. Available using the SOA approach. We reviewed the concept of online: http://en.wikipedia.org/wiki/Motor_ Service Oriented Architecture and also key web services Transport_and_Traffic_Directorate [Accessed: principles, standards and components, and have shown June 14, 2015]. how they could be used in application development. Four OASIS, “Web Services Distributed Management: Man- independent web applications were implemented and agement Using Web Services (MUWS 1.0) Part 1”. successfully tested. The agile development methodology 2005. Available online: http://www.oasis-open. was adopted for this work. To date, an industry standard org [Accessed: June. 05, 2015]. software development methodology tailored specifically for SOA is non-existent. We have thus shown that it is Optimise your load and performance testing costs. possible to combine an iterative process with an agile Available online: http://www.agileload.com/ th methodology to achieve development goals. SOA/ [Accessed: 20 , July 2015]. Web services remain an important and one of the most Schmidt, M.T., Hutchison, B., Lambros, P. & Phippen, promising areas in computer science. Notwithstanding R.(2005). The Enterprise Service Bus: Making the huge effort that has been exerted in the development service-oriented architecture real. IBM Systems of the fundamental standards and technologies, there Journal, 44 (4), 781-797. remains a gap in what web services promise and what W3C, (2007). “SOAP Version 1.2 Part 2”. 2007. Available can realistically be implemented. With the current trend online: http://www.w3.org [Accessed: June 15, towards cloud based computing and services, the SOA 2015]. approach may be an important methodology to consider. Whisenand, P. M. (1971). Automated Police Informa- tion Systems: An Argument for Vertical and Hor- izontal Integration. Journal of Criminal Law and Criminology 62 (3). Science and Development Volume 2, No. 1, 2018