A Middleware Application Framework for IOS

David Alfred Ostrowski System Analytics Research and Innovation Center Ford Motor Company

Abstract perspective of an application interface or extension of ETL-based design to support integration to cloud- For optimal utilization of pervasive architectures, a based resources [11][12]. Semantic web technologies comprehensive approach to the management of all have also been developed in support of a completely available resources must be considered. We examine ubiquitous environment. While providing a solution three categories including service-orientated to connectivity and integration in the enterprise they architectures (SOA), human machine interface (HMI) have not taken over as a dominant technology [14]. access to existing legacy applications and integration Despite these efforts, there are currently no IOS in of informational resources (e.g. file systems). To this general use due to three main reasons: 1) Users have goal we present an (IOS) invested much in their , which architecture designed as a middleware application often meets their current problem solving needs. Due relying on a Representational State Transfer (REST) to this investment they will not adopt a new operating – based approach.. Our framework relies on a novel system that will not run their applications, whatever incorporation of a number of open source advantages it offers [15]. 2) Users tend to maintain a technologies including a document-orientated high degree of control as well as autonomy for their and server-side Javascript. Initial machines even in a tightly knit organization [16]. 3.) experiments have demonstrated that our approach Performance also remains a concern, as there still is performs effectively among the dynamics of our an order of magnitude difference between transfer environment. times on a local architecture as compared to a network [17]. This paper defines an IOS-based architecture as a 1. Introduction solution to identified issues within the specified Networked computers have slowly gained domain. The paper follows in Section Two with a capability in the area of heterogeneity and review of prior work performed in this area. Section transparency. Recently, high speed internet Three outlines our architecture and Section Four technologies have accelerated access between provides a conclusion with future considerations. disparate architectures. The most popular implementation has been in the form of cloud 2. Current Research computing with users working with global storage Work attributed to IOS design was originally and software [1][2][3]. This approach has proliferated considered from the perspective of resource into the support of a complete web based operating management with many of these original objectives system which includes a file system, file remaining relevant. Jade was an early example of an management, production and communication architecture which provided a uniform way to name applications [4]. and access files in an internet environment [18]. (Rao The concept of a distributed OS has been in et. al.) proposed the extension of the scope of file existence for a long period of time from earlier systems from LANs to the internet, encouraging efforts including Amoeba, Chorus and Clouds collaborations and information on a broader scale operating system [5][6][7]. Newer environments [19]. (Liu and Dempsey) presented an Internet including Rebol, cloudi and eyeOS have supported resource management system with multiple facets accessibility between platforms thus overcoming the that provided tailored functions and associated user limitations of traditional client-server architecture interfaces to a hierarchy of users [20]. (Anderson et. [8][9][10]. Other current applications have taken the al.) supported the development of a global namespace discovery and integration. By following design for the means of supporting a file-system grid. [21] patterns of ETL architecture, views could also (Kumar et. al.) considered peer-to-peer distributed support filtering of data between existing data architectures to support scalability [22]. sources to provide higher level applications. Applications have driven the design of IOS in particular with work supporting the migration of 3.1 Data Flow legacy–based applications to virtual distributed Figure 1 shows the overall software architecture environments. Among them, (Beaty et.al.) examined from the perspective of a data flow. Here we installation, configuration settings and security issues designate three layers: 1) the client 2) our IOS regarding the movement of the applications from the prototype architecture and 3) the legacy environment. desktop to the cloud [23][24]. Pervasive Considering the start from client interaction, an environments have also largely influenced the HTML / page served by a document development of IOS including [25][26][27][28]. database is utilized to invoke a resource. Each SOA technologies have also moved forward resource would in turn be routed through the database concepts of distributed OS with integration of proxy returning data directly to the client from a software lifecycle, transition plans between backend tier. conventional architectures and integration of In the first scenario (a) , the data flow is a direct semantics into user level design [29][30][31]. While communication from the client to an established initial web service implementations such as XML- REST resource. Correspondingly, updates from a RPC and SOAP , were originally designated in such client to the service could be directly routed through designs, REST-based architecture has gained the database. In the second scenario (b), a migration popularity due to its efficiency, brevity and support process would be supported for legacy applications of rapid prototyping [32]. To this end, it has thus requiring the decomposition and wrapping of a proliferated in many environments as well as in novel legacy system to be supported by a server. distributed applications such as Amazon web services Minimally, this would require an existing interface to [33][2]. be separated from the server component. Here, we Designed around REST-based philosophies, a consider this be served independently from the legacy number of projects supporting document-oriented application and invoked in a REST format from the have proliferated including couchDB , AJAX calls by a client (routed through the database). mongoDB and SimpleDB [34][35][36]. In particular, In the third scenario (), resources such as file couchDB (frequently with server-side javascript) is systems could be established in a served environment described in implementation of distributed with identifiers distinguishing individual resources. applications [37]. AJAX/ REST implementations also Here, we would rely on single URLs supporting have been identified as suitable means for lightweight multiple resources extended through the addition of distributed applications [38]. unique identifiers for each handler. 3.0 Methodology a. b. c. Legacy Our position is that document-orientated database WS File system 3. Legacy application environment architecture can be leveraged to support the design of IOS. By supporting a REST-based philosophy, HTTP server server can be used directly to support this transition. This could be designed and tested incrementally across

distributed resources thus allowing for 1) co- Documentation-database existence with current operating systems 2) fast server prototyping and 3) flexibility in implementation. Our 2. IOS application software architecture is presented from the perspective of our three identified domains. Here, each individual client would perform discovery, 1. client testing and integration of all accessible resources Figure 1.0 data flow diagram. within a desktop or mobile application. In this plan, the document database assumes the 3.2 Testing role of an application server supporting an MVC- Relying on a REST-based architecture, three influenced architecture. Here, resource descriptions distinct layers (client, database and backend-tiers) are are established as documents from which views identified supporting an independent testing process. would be created to support activities such as This allows for flexibility in incremental testing among the legacy environment. In the context of our Our service contract will exist as a document to be architecture, resource information along with testing published within the database. The process starts with logic is tightly coupled as they reside in the same the publication of each services contract. Step two application. Here, testing activities could be (supported by an application developer) is where the managed by views, with semantics to be directly registry documents would be scanned to identify the represented in URLs vs. reliance on Web Service most effective match. Step three involves the basic Description Language (WSDL) definitions such as in understanding of the use of the service. Step four traditional Simplified Object Access Protocol represents the extra work that is necessitated to (SOAP) implementations (Figure 2.). In this determine how to implement the service. Finally, step environment, tests can be supported at three five involves service construction. incremental levels: 1) service invocation from a utility (such as curl) 2) direct invocation routed 3.4 Security through the database or 3) GUI (browser) level tests While AJAX-based implementations are regarded as involving testing of the HTML5 and AJAX interface. less secure than others, our design considers a number of steps to ensure application security. First http 3. http Browser Document Server by granularizing the client, certain pieces of logic Database /services/[identifier] Handler[functionality] remain private on the server allowing control access HTML 2. javascript http /services/[identifier] Handler[functionality] security. Secondly, each channel is protected through http the application of Secure Socket Layers (SSL) Utility 1. /services/[identifier] Handler[functionality] Based call involving the use of encryption managed by the HTTP server in case of a need for higher security. Figure 2. decoupling the client from the server Also, our reliance on the configuration of a reverse proxy server (supporting cross-domain REST-based 3.3 Discovery invocation) allows for additional controls to be Figure three outlines the process for discovery in the applied to our application in order to ensure access is context of our architecture. It begins with the highly regulated. Also, monitoring can provide a publication of each services contract as a document passive level of vigilance as each transaction would thus allowing for means of appropriate service be recorded with the database logging facility. identification. Here, the primary goal will be to Additional techniques are also considered from the provide sufficient information to support integration perspective of cross-site scripting by employing for a (prior undiscovered) service. Key components (blacklisting/ whitelisting) input validation [39]. of our document template, includes the following items: Web page

1.) uniform contract method that will be used to https:// Proxy server invoke the service capability (e.g. GET, PUT.) Proxy client http:// 2.) URI template to be used in invoking the service HTTP layer 3.) uniform contract media type (e.g. video, text, [servlet, handler, extentsions etc.] image, audio) server 4.) sufficient human-readable semantic information 5.) reverse proxy account definition (addressing Figure 4. secure channel request. same-origin policy) 5. Conclusions An architecture is proposed to the support of an Publish Service contract IOS. We take the design approach of an application server that would leverage the utility of document Search discovery For reusable orientated databases. Our application is centered logic around the support of REST based services with Define how to use Uniform contract in Build service strong consideration of legacy resources and Service consumer consumer Testing / integration applications. Our application is self-contained in that Abstract service implementation Contract URL semantics for acquired service data is integrated immediately into Service consumer our database and be referenced through the application of views. Here, our suggested use of Figure 3. Service Discovery views not only allows for the selection of web services but also can allow for a convenient filtering mechanism towards the representation of our data. [23]Beaty, K.; Kochut, A.; Shaikh, H.; Desktop To Work on a prototype architecture based on this plan Cloud Transformation Planning ,IBM T.J. Watson Res. is underway utilizing HTML5 / node.js and couchDB Center, Hawthorne, NY, USA Parallel & Distributed which is showing promise to demonstrate a Processing, 2009. IPDPS 2009. IEEE International lightweight approach to IOS design. Symposium on 23-29 May 2009 [24] Junghwan Rhee; Kochut, A.; Beaty, K.;Deskbench: Flexible Virtual Desktop Benchmarking toolkit Dept. of 6. References Comput. Sci., Purdue Univ., West Lafayette, IN, [1] Murty, James, Programming Amazon Web Services, USA,Integrated Network Management, 2009. IM '09. S3, EC2, SQS, FPS and SimpleDB, O'Reilly Media, March IFIP/IEEE International Symposium on 1-5 June 2009 622 2008 –629 [2] Segaran, Toby, Evans, Colin, Taylor, Jamie, [25] Vanderhulst, G.; Luyten, K.; Coninx, K.; Pervasive Programming the Semantic Web, O'Reilly, 2009 maps: Explore and interact with pervasive environments [3]Hayes, Brian, , Communcations of the Pervasive Computing and Communications (PerCom), ACM.,July,2008,http://bit- 2010 IEEE International Conference on, pp: 227 - 234 2010 player.org/bphpublications/CACM-2008-07-Hayes- [26] Ruimin Liu; Hongji Yang; Yangsheng Wang; Wei cloud.pdf Pan; An evolutionary system development approach in a [4] Lawton, G.Moving the OS to the Web, Computer, Vol pervasive computing environment Cyberworlds, 2004 41, pp. 16 – 19, 2008 International Conference on, pp: 194 – 199, 2004 [5] http://www.cs.vu.nl/pub/amoeba/ [27] Pervasive Service Computing: Visions and Challenges [6]http://thor.cs.ucsb.edu/~ravenben/papers/coreos/RAA+9 Jiehan Zhou; Gilman, E.; Ylianttila, M.; Riekki, J.; 2.pdf 2010 IEEE 10th International Conference on Computer and [7] http://www.cdk3.net/oss/Ed2/Clouds.pdf Information Technology (CIT) , pp 1335 – 1339, 2010 [8] http://rebol.com/ [28]Christophe, Benoit, Vincent, Verdot, Toubiana, [9] http://cloudi.org/ Vincent, Searching the 'Web of Things', 2011 Fifth IEEE [10] http://www.eyeos.org/ International Conference on Semantic Computing, IEEE [11] http://www.talend.com/index.php ICSC 2011 [12] http://www.pentaho.com/ [29] Service Oriented Infrastructure Framework Yan Zhao; [13] http://www.instanthmi.com/ Congress on Services- Part I , pp 99 – 100, 2008 [14]Shadbolt, N.; Hall, W.; Berners-Lee, T.; The [30] Shan, T.C.; Hua, W.W.; Service-Oriented Computing Semantic Web Refivistited., Intelligent Systems, IEEE, KitServices Computing, 2006. SCC '06. IEEE International Vol: 21 Issue:3 pp: 96 – 101, 2006 Conference on Computing,pp509, 2006 [15]Coulouris, George, Dollimore, Jean, Kindberg, [31] A New Architecture Description Language for Distributed Systems Concepts and Design, Addison Service-Oriented Architec Wesley, fourth edition Xiangyang Jia; Shi Ying; Honghua Cao; Xie, D.; [16]Pohoree,Sandi, Zorman, Milan, The challenges of the Grid and Cooperative Computing, 2007. GCC 2007. Sixth move from the desktop to the cloud Information International Conference on Technology Interfaces (ITI), Proceedings of the ITI 2011 [32]Richardson, Leonard,Ruby, Sam, Restful Web 33rd International Conference on Issue, pp: 119 -124, 2011 Services, Oreilly, 2007 [17] Tanenbaum, Andrew S, : Distributed Sytems: [33]Burke, Bill, Restful Java with JAX-RS, OReilly 2010. Principles and Paradigms., Prentice Hall [34] http://soundadvice.id.au/blog/2010/10/ [18] Rao, H.C.; Peterson, L.L.; Accessing files in an [35] Bhat, Uma, Shraddha, Jadhav, Moving towards non- Internet: the Jade file system IEEE Transactions on relational Databases, ©2010 International Journal of Software EngineeringVol. 19 , Iss: 6 1993 ,pp 613 – 624 Computer Applications (0975 – 8887) [19] Chung-Hwa Rao, H.; Ming-Feng Chen; Feng-Jian Volume 1 – No. 13 Wang; An overview of the Internet File System The [36]Anderson, J. Chris, Lehnardt,Jan, Slater, Noah Twenty-First Annual International,Computer Software and CouchDB: The Defiitive Guide, OReilly, 2010 Applications Conference, 1997. COMPSAC '97. [37]Chodorow, Kristina, Dirolf, Michael, MongoDB : The Proceedings., Definitive Guide,OReilly , 2010 [20] Liu, H.; Dempsey, H.H.; Multi-facet Internet [38] Gross, Christian, AJAX and REST Recipes, Apress, resource management system Dept. of Electr. & Comput. 2006 Eng., Massachusetts Univ., North Dartmouth, MA [39] Yoshihama,Sachiko De Keukelaere,Steiner, Michael, [21] Anderson, O. T.; Luan, L.; Everhart, C.; Pereira, M.; Uramoto,Naohiko.,rederikhttp://www.ibm.com/developerw Sarkar, R.; Xu, J.; Global namespace for files, IBM orks/library/x-ajaxsecurity/index.html Systems Journal Vol 43 , Issue: 4 , 2004 , Page(s): 702 - 72 [22] Kumar, R.; Ross, K.W.Peer-Assisted File Distribution: The Minimum Distribution Time Hot Topics in Web Systems and Technologies, 2006. HOTWEB '06. 1st IEEE Workshop on 2006 , pp- 11