Mobile application architectures
|
|
|
- Loraine Sparks
- 10 years ago
- Views:
Transcription
1 Mobile application architectures Pasi Alatalo*, Jarkko Järvenoja*, Jari Karvonen**, Ari Keronen*, Pasi Kuvaja* *Department of Information Processing Science, University of Oulu, P.O.Box3000, FIN OULU, FINLAND **Department of Economics, University of Oulu, P.O.Box4600, FIN OULU, FINLAND { Pasi.Alatalo, Jarkko.Järvenoja, Jari.T.Karvonen, Ari.Keronen, Pasi.Kuvaja }@oulu.fi Abstract. Modern computer architectures are large containing thousands of lines of code with complex and often distributed forms. Mobile and multiplatform solutions even increase this complexity. Modeling and managing a software architecture is important way of handling these complex systems, describing it to different actors inside software business and for analyzing and improving system performance. In this paper we go through mobile architectural structures and analysis of these with empirical mobile application development. We used different architectural views for analyzing mobile architectures and architecture role in development. The architecture and architectures role on the development has been studied in mobile applicationand multi-platform service development. 1 Introduction Telephone, mobile and fixed-line, has connected people for a long time. At mid of 90 s the GSM (Global System for Mobile) provided mobile phones with short message (SMS) based communication channel. Data started to be part of the communication. The development in wireless communications generated many services that were based on data transactions. Valuable information services as well as entertainment services became part of mobile communication. The market of wireless communication is developing. Data transactions enabling technologies, GSM and SMS got new properties and requirements with the introduction of Wireless application protocol (WAP). Wap facilitated onlineconnection between two terminals possible and converged Internet into the mobile communication. [2] Next steps on the development rout were to integrate digital television (already partly functioning), third generation mobile phones and local networks working together. This integration created a new problem called entity management. The main question is how to manage application development in certain platform so that it would work also in multi-channel environment? One possible answer is reasonable architecture that allows flexibility in development. Keeping attention on the architecture during the development helps in focusing on the right tasks at the right time. In this paper mobile application development is considered from the product This paper has been published under copyright of Springer-Verlag in the Proceedings of the PROFES 2002 conference, December 9-11, Rovaniemi, Finland
2 2 Pasi Alatalo, Jarkko Järvenoja, Jari Karvonen, Ari Keronen and Pasi Kuvaja idea to the final product from the architecture development point of view. The paper is based on experimental research performed in MONICA-project. 2 Software architectures in general Software architecture describes and demonstrates the content of created software. The form of software descriptions varies. Diverse need of information and requirements of architecture have caused variety in software architecture definitions. One definition of the software architecture is to describe the relationship between static and dynamic parts of the software. In other words it alludes in two important characteristic of the computer program: the hierarchical structure of procedural components and the structure of data. [5] In 90 s software architectures have increased to one of the most significant parts of software engineering. Different technologies, which are handled, especially from software architecture point, were spreading to industrial use. In addition there are continually developed more complicated applications that includes thousands of lines of code and that are complicated to maintain and to reuse. These are the real-world problems and demands that caused the emergence of different software architectures and will develop in the world of changing technologies and system requirements. In that way software architecture definition can nowadays be seen as a critical part of the development of the software applications. Borderline between architecture and structure of lowest part of software is thin, which may make designing software architecture some overlapping. One definition could be that software architectures include those features of software that do not change during the software process. [5] Purpose of the software architecture Modeling and documenting software architecture is important for many reasons. Stakeholders can look at structural features of software with the help of modeling and documentation. Using architectural model developers can analyze software at very early phase of the software process. Architecture is the first step in designing software itself and it defines stable ground for software development. Different architecture models can be standardized and named, and can be re-used in many subsequent applications. This leads to identification and documentation of general architecture models that are application independent. The architecture models are called architectural styles. Examples for architectural styles are layered architecture and repository architecture. [4][5] Product line architecture The set of software programs, which have similar structure and functionality, are called software product families. The software architecture, which is common to software product family, is often called product line architecture. Layers, components
3 Mobile application architectures 3 and frames have significant role in product line architecture. The use of product line architectures is continuously increasing in software industry. In specific the increasing use of the product line architecture is motivated by the fact that they make reuse of software modules easier, that leads further into more reliable software programs, better time controlled projects, increased productivity of the development, less development risks, easier prototyping etc. [10] Layered software architecture Layered software architecture means software structure that consists of layers that are logically similar on different abstraction levels. The function of layered software architecture is that higher layer can use services, which lower layer produces. Normally that leads into a situation where the lower layers produce the most common services. On the other hand this means that the higher level the layer is described to the more independent the layer is from the application itself. Layered software architecture can be described in three-layered architectural model, which consists of application layer, middleware layer and platform layer. Middleware offers platform independent common services like support for user interface. Platform layer offers for example operating system, communication software and other hardware dependent software (drivers etc.). See Figure 1. Fig. 1. Three-layer architectural model Most common structure of layered software architecture is hierarchical and bypassing forbid. Hierarchy means that direction of service request is always from higher level to lower level or service request is send to same level. To forbid bypassing means that service request do not bypass next layer. Structures that allow bypassing are possible but are not so common. See Figure 2.
4 4 Pasi Alatalo, Jarkko Järvenoja, Jari Karvonen, Ari Keronen and Pasi Kuvaja Fig. 2. Non passing and passing hierarchical layered software architectures Independent layer needs interfaces to serve and request service for. Services are produced to serve higher layer requests that could be used via the interface. This interface is called service interface or utilization interface. On the other hand services, which layer is requested, could be used via implementation interface. Utilization interface of layer is the same as implementation layer of the higher layer. Implementation interface of the lowest layer and utilization layer of the highest layer connects system to physical environment. Benefits of layered software architecture are clear, simple structure, which make possible to develop and understand software as sets of independent layers. Because of the independent nature of the architectures the designers who are specialized in different layers can focus onto their own layers without knowing anything about another layer. Additionally layered software architecture makes understanding of system easier to them who are not so familiar with software designing and implementation for example customers and managers. [4][5][9] Distributed systems Nowadays more and more applications work in distributed environments either in wired or wireless systems. Due to this new distributed technologies are created and architectural solutions based on these new technologies are developed. The most significant of these technologies are CORBA (Common Object Request Broker Architecture) and Java RMI (Remote Method Invocation). CORBA is common, distribution standard for objects, that is independent from implementation language and operating systems. Java RMI is Java implementation for distribution mechanism of objects. [11][12] 3 Different views of software architectures Different software architecture models and their representations have been used in different purposes. When analyzing more precisely the architectures and their representations one dimension is the abstraction level. Higher abstract levels are used
5 Mobile application architectures 5 in general description of the software or parts of the software. The abstraction levels of the representations allow to describe the basic functionality and structure of the software level by level and that makes it more easy and faster. The more detailed architecture descriptions we go the more complicated the architecture show-ups are. This also increases the requirements to understand the given information. The view that is under study is dependent of the stakeholder in question, such as end-user, clients, project leader, implementer, manager or salesman, whose interests in software vary quite much. This paper is focused on the mobile application development from the early idea until final product. The chosen views for architecture are based on the software architecture models presented by Philippe Kruchten. Kruchten defined so called 4+1 model to describe five different viewpoints for software. The viewpoints are illustrated here in graphical form in Figure 3.. In this paper the Kruchten s models will be applied in analyzing mobile applications and mobile application development. On each level of development the analysis will be performed through Kruchten s viewpoints in order to find out conveniences of the mobile application development. [6] The five viewpoints are as follow: First view is the use case view where the system is looked at from outside, as the user looks at it. This view emphasizes outer functionality of the system. Second view is called logical view and it describes static software models (classes, interfaces etc.) and dynamic relationship of different software models of the system. This view emphasizes inner functionality of the system. Third view is called process view and this view describes interaction and organization between parallel processes and threads. This view emphasizes performance, scalability and distribution of the system. Fourth view is called implementation view. This view divides system to physical parts (files etc.), which are gathering together to be represented in special way. This view emphasizes controlling of software product. Fifth view is called deployment view. This view describes hardware composition of the system; connections needed by hardware and software modules and processes locate in different hardware component. This view emphasizes distribution of the system, delivery of the system and assembly of the system. Using software architecture gives quite good new concepts like classes, interfaces, components, modules, sub-systems, inheritance of classes, processes, messages, files, hardware components, communication models etc. Architecture model may concern either static structure of software like classes or dynamic structures like objects. It may also concern static relationships as well as dynamic behavioral models. Architecture can be described either as abstract model, which has not direct relation to software, or as concrete model. An example of applying the views in mobile music service will be presented in Figure 3.[4][6]
6 6 Pasi Alatalo, Jarkko Järvenoja, Jari Karvonen, Ari Keronen and Pasi Kuvaja Fig. 3. An example of different views in mobile music service 4 Experiences of a mobile service development The experiences presented here are based on mobile card game application development during MONICA project 1. The project had theoretical proportion where concepts in this area were studied and practical proportion in which these was tested in real production. As a case example of mobile service we chose a game service. There were number of reasons for this decision: entertainment business is one of the most growing part of the mobile business and because games have always being a test field of new technology. Building a game service is demanding task where you can easily test new ideas and technology. 1 The target of MONICA project was to improve production facilities of value added services in mobile telecom area. More information:
7 Mobile application architectures 7 Card game The card game chosen as the object of development was called Tuppi. Tuppi is a card game from northern Finland traditionally played by lumberjacks in their spare time. It is similar to Bridge game and can be referred as Arctic Bridge or Lumberjack s Bridge. Tuppi is played by 2 to 4 players. Players are in two teams. The aim of the Tuppi-game is to play rounds and collect tricks. Team that reaches 52 tricks is the winner and the other team is said to be in Tuppi. Being in Tuppi is thought to be very embarrassing to the team. There are different kinds of objectives inside of the Tuppi-game to define how tricks are calculated: these are called Rami, Nolo and Solo and they define how tricks are calculated. The game objective is chosen in the beginning of each round. More information about Tuppi can be found on the Internet: Development baselines of the mobile card game architecture There were couple of baselines that were taken into account from the beginning of the project: understanding the design and development process of mobile value added service, emphasizing the reusability from the beginning of the project and developing towards an abstract design of architecture for mobile services. Applying these development baselines affected the definition of the software architecture. When examining the architecture according to different architectural views of software it is quite easy to analyze what effects these development baselines chosen had into the resulted software architecture. Use case view of the mobile card game In use case view the system is looked from outside, from the user viewpoint. During the card game development a sample of case studies were used to describe the system from the user perspective. The case studies helped quite much in finding out additional requirements and new feature ideas. In use case development an approach defined by Dzida and Freitag [1] was applied. According to this approach use cases have thee perspectives: use scenario, indented system use and context scenario. Use scenario describes the use situation. Who is using the system and what is the motivation of the user. Indented system use tells us what kind of system we are dealing with and for what purpose for we are using it. Context scenario describes the backgrounds of the use, the context in which the use scenario is happening. In MONICA project a metaphor of game house to represent Mobile Tuppi was generated. In game house players may meet and play different games. The game house architecture is described in the subsequent Figure 4 as use case view. New player has a key to the game house where he can chat with other players in the lounge. When they decide they can go to one of the game rooms and start to play a game. Game rooms have tables where players have card decks and cards. The room, where the player is, defines the game that can be played. New games are added
8 8 Pasi Alatalo, Jarkko Järvenoja, Jari Karvonen, Ari Keronen and Pasi Kuvaja by adding new game rooms. This was done in Mobile Tuppi by defining rules for the new game. Players can have cards on the hand and other cards on the table. This metaphor is well descriptive since the objects in the metaphor are the actual objects in the logical level of the architecture description. Fig. 4. Use case view for a Game house -architecture Table Under construction Card deck Game room Poker room Tuppi room player key Logical view of the mobile card game. During the MONICA project different distributed mobile client-server systems were studied and found that there is quite similar basic functionality in many of the systems. Therefore, there are similarities in architectures. When considering the application from the logical viewpoint it can be found that the most of the components that are used are the same. Major differences in server and clients are in the components that manipulate and present data instead of entire architectural structure of the application system.
9 Mobile application architectures 9 When defining a reusable architecture solution it is essential to differentiate those components from other components. The use of layered architecture in server helped this differentiation. The higher level the layer is described, the closer onto that layer becomes the independent application. Layered software architecture gives a clear and simple structure with a possibility to develop and understand software as sets of independent layers. Previous solution makes a possibility to reuse most of the layers in other software development. For example communication classes are just focusing on transmitting data, they don t take a stand for the transmitted data itself. This approach emphasis data, data structure and data manipulation as the key points to consider when aiming towards abstract reusable architectures. Mobile Tuppi-server architecture consists of five main objects: game server, serial gateway, router, encoding server and wireless access server. These objects can physically reside in same device. Task of the game server object is to administrate games, players and game sessions and to handle actual play of a game. When clients connect to the server different players will be identified with a session key. When creating new game players are assigned to it. Game server also keeps track of the client connections and automatically manages error situations such as network problems and lost connections. In order to make communication between server and client more abstract, a special game language was developed. This language tells to the client what cards are on the deck, what are on the table, who are the players, whose turn is it, what game is it and so on. If something like XML language would be used instead of the game language, the architecture would be even more flexible. This would allow changing an application just by changing the components that manipulate and present data. General architecture of the Mobile Tuppi client represented in Figure 5 consists of three parts. These are communications object, repository or shared memory and display object. The architecture is called repository architecture. Communication object handles different communication routines: opening and closing connections, transferring game information from client, and handling different communications errors. Shared memory is accessed both by communications object and graphical object. This object is used to store game information. Display object consists of graphical objects and routines that are visible to the user. The object handles user input and output. Repository architecture was used for clients because of limited resources were available on client platforms and this enabled to use more simple functionality than in the server. An abstract architecture definition helped here to port the application onto new client platforms quite easily. If the architecture used is wellabstracted different components and their interfaces become quite clear. It is also easy to change implementation language if needed, but still to use the same architecture in different mobile platforms.
10 10 Pasi Alatalo, Jarkko Järvenoja, Jari Karvonen, Ari Keronen and Pasi Kuvaja Fig. 5. General Tuppi-client architecture Communications object Shared memory Graphical object Process view of mobile the card game Tuppi clients have two different threads. Communication classes are run in one and user interface and data manipulation classes in other. These threads communicate through blackboard or data repository. It is easier to distinguish data and data manipulation from the rest of the application by using repository architecture in the client application. This makes client application more abstract and reusable. For defining new applications you just change the parts of the client that handles UI and data. Other benefits are better performance since communication routines do not have to wait for the UI routines to finish and easier synchronization between communication classes and UI. This is quite important when working with devices of very limited resources like mobile phones. Implementation view of the card game Implementation view to architecture consists from physical parts (files etc.) of the software. Building mobile multi-platform software makes this view challenging because software has different files for different platforms, and different distribution channels for them. Mobile Tuppi that supports a variety of platforms has different files for MID-P implementation, Java implementation etc., and number of ways to deliver them to different platforms. The MID-P applications can be delivered with SMS message and installed automatically. At the time of the case study of mobile technologies didn t support dynamic downloadable libraries or components. Client applications were delivered in single packed file. This is yet relatively simple. When component technologies can be used in mobile platforms you can have dynamically downloadable components and libraries. You need to have a good plan how to organize them. This view for architecture has it advantage in large and complex applications where number of delivered files can be thousands and you need to plan the structure
11 Mobile application architectures 11 of the files. In addition to that there is a need to plan, how to maintain the files, and how to deliver them to customer. Deployment view of mobile Tuppi Mobile Tuppi is designed to be a multi-platform multi-player game. Connection is possible from game system with various platforms running under different operating systems. Game system can run many simultaneous games played by number of people. Mobile Tuppi supports PC-clients, different mobile phones, Palm devices and Java enabled digital TV. Supported languages are Java, MID-P and native Epoc. Different platforms can also connect to game system using different communications protocols and connections. At this point game system supports serial line, infrared, TCP-IP, WAP and HTTP protocols. Supported connections are serial line, infrared, TCP-IP, GSM and GPRS. In the future also Bluetooth is thought to be added to the list of supported bearers. Planning the software to be flexible and re-usable from the beginning of MONICA project proved to be on the right track. I was possible to start from very simple implementations and add more complicated platforms as the technology developed. When using layered software architecture, it was possible to add new bearer in a quite simple way, just by adding new modules for one layer and leave the other layers untouch. Figure 6 shows the deployment view of Mobile Tuppi. [2][7][8] Fig. 6. Tuppi-game architecture
12 12 Pasi Alatalo, Jarkko Järvenoja, Jari Karvonen, Ari Keronen and Pasi Kuvaja 5 Conclusion Mobile application development belongs on the complicated, but quite regular software development environment that includes many different solutions possibilities in the development. The experiences from the mobile card game development lead to the development process that cover many distribution channels (different client platforms). Architecture and the readiness to react changes that were caused by technology requirement changes become one of the key points in successful development. Changes that came during the application development required quite clear architecture. By identifying, standardizing, and naming general architecture models, same models and code could be reused in several applications. When thinking normal life example about cars and road instead software business, it is quite easy to understand how important is the re-use. New road is not build (infrastructure for content delivering) for every car (application) that is made. Same road is used that is made safe, well defined and documented. This allows carmakers to focus onto their key business that is car making and users to safely use them. When new cars (platforms) are build the same road that before was used or there can be a new fast line (new bearers) to speed up the driving. New roads are also build to go new places (new type of applications) but these are added to existing infrastructure. In the sense in software production this means that well-tested solutions are re-used for content delivery of different applications. This increases productivity, quality of system and keeps users happy. In Mobile Tuppi architecture where data manipulation and UI is very restricted from the rest of the application gives new ideas on how multi-platform applications may work. Different platforms have different capabilities. There can be platforms with limited memory and screens and multimedia platforms that have 3D UI with possibility to use speech and sound. During the card game development in MONICA project an idea came out to change the ways how the data is represented in different platforms by platforms informing to the application about the capabilities of the platform. This would mean content aware plug and play-architecture for mobile devices. With downloadable components new UI could be loaded to the phone when it is connecting to the system first time. There could even be different producers using same architecture that could do this UI component. Well-abstracted and documented game architecture could also mean that someone else could do new games or game creation could be automated. The idea of automated game generation is introduced in J.Orwant paper of automated programming for game generation. [3] 6 References 1. Dzida,W., Freitag, R.: Making Use of Scenarios for Validating Analysis and Design. IEEE Transactions on Software Engineering, Vol.24, No. 12, December Nokia: MITA, Mobile Internet Technical Architecture, IT Press, Finland Orwant, J.: Automated programming for game generation. IBM 2000.
13 Mobile application architectures Koskimies, K.: Oliokirja. 2 nd edn. Satku Kauppakaari, Gummerus Kirjapaino Oy, Jyväskylä Pressman, R.S.: Software engineering a practitioner s approach. 3 rn edn, McGraw-Hill Book Company, Berkshire, England, Kruchten., P.: The 4+1 view model of architecture. IEEE Software, volume 12, No 6, 1995, Sun Microsystems: J2ME[tm] Mobile Information Device Profile (MIDP) Lewins, J., Loftus, W.: Java software solutions Foundation of program design, Addison- Wesley, Garnegie Mellon Software Engineering Institute: Software architecture documentation in practice Documentating architectural layers Garnegie Mellon Software Engineering Institute: A Framework for software product line practice version Seetharaman, K., The Corba Connection, Communications of the Acm, volume 41, No.10, Sun Microsystems: Java Remote Method Invocation (RMI),
GenericServ, a Generic Server for Web Application Development
EurAsia-ICT 2002, Shiraz-Iran, 29-31 Oct. GenericServ, a Generic Server for Web Application Development Samar TAWBI PHD student [email protected] Bilal CHEBARO Assistant professor [email protected] Abstract
Client/server is a network architecture that divides functions into client and server
Page 1 A. Title Client/Server Technology B. Introduction Client/server is a network architecture that divides functions into client and server subsystems, with standard communication methods to facilitate
A standards-based approach to application integration
A standards-based approach to application integration An introduction to IBM s WebSphere ESB product Jim MacNair Senior Consulting IT Specialist [email protected] Copyright IBM Corporation 2005. All rights
A Middleware-Based Approach to Mobile Web Services
Abstract A Middleware-Based Approach to Mobile Web Services Pampa Sadhukhan, Pradip K Das, Rijurekha Sen, Niladrish Chatterjee and Arijit Das Centre for Mobile Computing and Communication (CMCC), Jadavpur
PIE. Internal Structure
PIE Internal Structure PIE Composition PIE (Processware Integration Environment) is a set of programs for integration of heterogeneous applications. The final set depends on the purposes of a solution
Structuring Product-lines: A Layered Architectural Style
Structuring Product-lines: A Layered Architectural Style Tommi Myllymäki, Kai Koskimies, and Tommi Mikkonen Institute of Software Systems, Tampere University of Technology Box 553, FIN-33101 Tampere, Finland
Remote Desktop Access through Android Mobiles and Android Mobiles Access through Web Browser
Remote Desktop Access through Android Mobiles and Android Mobiles Access through Web Browser 1 Karan Sandeep Bhandari, 2 Vishnu Baliram Mandole, 3 Akash Dattatray Munde, 4 Sachin B. Takmare Bharati Vidyapeeth
Designing and Embodiment of Software that Creates Middle Ware for Resource Management in Embedded System
, pp.97-108 http://dx.doi.org/10.14257/ijseia.2014.8.6.08 Designing and Embodiment of Software that Creates Middle Ware for Resource Management in Embedded System Suk Hwan Moon and Cheol sick Lee Department
Decomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces
Software Engineering, Lecture 4 Decomposition into suitable parts Cross cutting concerns Design patterns I will also give an example scenario that you are supposed to analyse and make synthesis from The
Mobile Operating Systems Lesson 07 Symbian OS
Mobile Operating Systems Lesson 07 Symbian OS Oxford University Press 2007. All rights reserved. 1 Oxford University Press 2007. All rights reserved. 2 Symbian OS multi-modal communication support OS for
From Digital Television to Internet? A general technical overview of the- DVB- Multimedia Home Platform Specifications
From Digital Television to Internet? A general technical overview of the- DVB- Multimedia Home Platform Specifications Vita Hinze-Hoare Abstract This paper provides a general technical overview of the
Skynax. Mobility Management System. System Manual
Skynax Mobility Management System System Manual Intermec by Honeywell 6001 36th Ave. W. Everett, WA 98203 U.S.A. www.intermec.com The information contained herein is provided solely for the purpose of
The Integration Between EAI and SOA - Part I
by Jose Luiz Berg, Project Manager and Systems Architect at Enterprise Application Integration (EAI) SERVICE TECHNOLOGY MAGAZINE Issue XLIX April 2011 Introduction This article is intended to present the
LinuxWorld Conference & Expo Server Farms and XML Web Services
LinuxWorld Conference & Expo Server Farms and XML Web Services Jorgen Thelin, CapeConnect Chief Architect PJ Murray, Product Manager Cape Clear Software Objectives What aspects must a developer be aware
EFFICIENCY CONSIDERATIONS BETWEEN COMMON WEB APPLICATIONS USING THE SOAP PROTOCOL
EFFICIENCY CONSIDERATIONS BETWEEN COMMON WEB APPLICATIONS USING THE SOAP PROTOCOL Roger Eggen, Sanjay Ahuja, Paul Elliott Computer and Information Sciences University of North Florida Jacksonville, FL
Six ways to accelerate Android mobile application development
Six ways to accelerate Android mobile application Creating an integrated solution for collaboration among teams Contents 1 Weaving the invisible thread of innovation 2 Android : vast opportunities and
Heterogeneous Tools for Heterogeneous Network Management with WBEM
Heterogeneous Tools for Heterogeneous Network Management with WBEM Kenneth Carey & Fergus O Reilly Adaptive Wireless Systems Group Department of Electronic Engineering Cork Institute of Technology, Cork,
Information Technology Career Field Pathways and Course Structure
Information Technology Career Field Pathways and Course Structure Courses in Information Support and Services (N0) Computer Hardware 2 145025 Computer Software 145030 Networking 2 145035 Network Operating
Efficiency of Web Based SAX XML Distributed Processing
Efficiency of Web Based SAX XML Distributed Processing R. Eggen Computer and Information Sciences Department University of North Florida Jacksonville, FL, USA A. Basic Computer and Information Sciences
http://ubiqmobile.com
Mobile Development Made Easy! http://ubiqmobile.com Ubiq Mobile Serves Businesses, Developers and Wireless Service Providers Businesses Be among the first to enter the mobile market! - Low development
Applying 4+1 View Architecture with UML 2. White Paper
Applying 4+1 View Architecture with UML 2 White Paper Copyright 2007 FCGSS, all rights reserved. www.fcgss.com Introduction Unified Modeling Language (UML) has been available since 1997, and UML 2 was
Chapter 7: Computer Networks, the Internet, and the World Wide Web. Invitation to Computer Science, C++ Version, Third Edition
Chapter 7: Computer Networks, the Internet, and the World Wide Web Invitation to Computer Science, C++ Version, Third Edition Objectives In this chapter, you will learn about: Basic networking concepts
Mobile Operating Systems. Week I
Mobile Operating Systems Week I Overview Introduction Mobile Operating System Structure Mobile Operating System Platforms Java ME Platform Palm OS Symbian OS Linux OS Windows Mobile OS BlackBerry OS iphone
What Is the Java TM 2 Platform, Enterprise Edition?
Page 1 de 9 What Is the Java TM 2 Platform, Enterprise Edition? This document provides an introduction to the features and benefits of the Java 2 platform, Enterprise Edition. Overview Enterprises today
FINAL YEAR PROJECT PROPOSAL Public Voting System
FINAL YEAR PROJECT PROPOSAL Public Voting System Nick Day [email protected] Supervisor: Dr Corina Sas ABSTRACT This report presents a proposal for a public voting system to be developed as part of
Wireless Links - Wireless communication relies on radio signals or infrared signals for transmitting data.
Uses of a network A network is a way to connect computers so that they can communicate, exchange information and share resources in real time. Networks enable multiple users to access shared data and programs
Wireless ATA: A New Data Transport Protocol for Wireless Storage
Wireless ATA: A New Data Transport Protocol for Wireless Storage Serdar Ozler and Ibrahim Korpeoglu Department of Computer Engineering, Bilkent University, 06800 Bilkent, Ankara, Turkey {ozler, korpe}@cs.bilkent.edu.tr
Principles and Software Realization of a Multimedia Course on Theoretical Electrical Engineering Based on Enterprise Technology
SERBIAN JOURNAL OF ELECTRICAL ENGINEERING Vol. 1, No. 1, November 2003, 81-87 Principles and Software Realization of a Multimedia Course on Theoretical Electrical Engineering Based on Enterprise Technology
Page 1 of 5. (Modules, Subjects) SENG DSYS PSYS KMS ADB INS IAT
Page 1 of 5 A. Advanced Mathematics for CS A1. Line and surface integrals 2 2 A2. Scalar and vector potentials 2 2 A3. Orthogonal curvilinear coordinates 2 2 A4. Partial differential equations 2 2 4 A5.
Guide to Wireless Communications. Digital Cellular Telephony. Learning Objectives. Digital Cellular Telephony. Chapter 8
Guide to Wireless Communications Digital Cellular Telephony Chapter 2 Learning Objectives Digital Cellular Telephony 3 Describe the applications that can be used on a digital cellular telephone Explain
Python for Series 60 Platform
F O R U M N O K I A Getting Started with Python for Series 60 Platform Version 1.2; September 28, 2005 Python for Series 60 Platform Copyright 2005 Nokia Corporation. All rights reserved. Nokia and Nokia
25 May 11.30 Code 3C3 Peeling the Layers of the 'Performance Onion John Murphy, Andrew Lee and Liam Murphy
UK CMG Presentation 25 May 11.30 Code 3C3 Peeling the Layers of the 'Performance Onion John Murphy, Andrew Lee and Liam Murphy Is Performance a Problem? Not using appropriate performance tools will cause
Research on the Model of Enterprise Application Integration with Web Services
Research on the Model of Enterprise Integration with Web Services XIN JIN School of Information, Central University of Finance& Economics, Beijing, 100081 China Abstract: - In order to improve business
Virtual Credit Card Processing System
The ITB Journal Volume 3 Issue 2 Article 2 2002 Virtual Credit Card Processing System Geraldine Gray Karen Church Tony Ayres Follow this and additional works at: http://arrow.dit.ie/itbj Part of the E-Commerce
A SOA visualisation for the Business
J.M. de Baat 09-10-2008 Table of contents 1 Introduction...3 1.1 Abbreviations...3 2 Some background information... 3 2.1 The organisation and ICT infrastructure... 3 2.2 Five layer SOA architecture...
Monitoring Infrastructure (MIS) Software Architecture Document. Version 1.1
Monitoring Infrastructure (MIS) Software Architecture Document Version 1.1 Revision History Date Version Description Author 28-9-2004 1.0 Created Peter Fennema 8-10-2004 1.1 Processed review comments Peter
Java ME & NetBeans Mobility. Petr Suchomel Architect, NetBeans Mobility Sun Microsystems
Java ME & NetBeans Mobility Petr Suchomel Architect, NetBeans Mobility Sun Microsystems Agenda Java ME introduction Java ME applications NetBeans Mobility Edition Power of advanced features Demos, demos,
Middleware Lou Somers
Middleware Lou Somers April 18, 2002 1 Contents Overview Definition, goals, requirements Four categories of middleware Transactional, message oriented, procedural, object Middleware examples XML-RPC, SOAP,
A Generic Database Web Service
A Generic Database Web Service Erdogan Dogdu TOBB Economics and Technology University Computer Engineering Department Ankara, Turkey [email protected] Yanchao Wang and Swetha Desetty Georgia State University
VisuSniff: A Tool For The Visualization Of Network Traffic
VisuSniff: A Tool For The Visualization Of Network Traffic Rainer Oechsle University of Applied Sciences, Trier Postbox 1826 D-54208 Trier +49/651/8103-508 [email protected] Oliver Gronz University
Platform Independent Mobile Application Development
International Journal of Information and Computation Technology. ISSN 0974-2239 Volume 4, Number 5 (2014), pp. 527-532 International Research Publications House http://www. irphouse.com /ijict.htm Platform
What can DDS do for You? Learn how dynamic publish-subscribe messaging can improve the flexibility and scalability of your applications.
What can DDS do for You? Learn how dynamic publish-subscribe messaging can improve the flexibility and scalability of your applications. 2 Contents: Abstract 3 What does DDS do 3 The Strengths of DDS 4
Oracle WebLogic Foundation of Oracle Fusion Middleware. Lawrence Manickam Toyork Systems Inc www.toyork.com http://ca.linkedin.
Oracle WebLogic Foundation of Oracle Fusion Middleware Lawrence Manickam Toyork Systems Inc www.toyork.com http://ca.linkedin.com/in/lawrence143 History of WebLogic WebLogic Inc started in 1995 was a company
SCALABILITY AND AVAILABILITY
SCALABILITY AND AVAILABILITY Real Systems must be Scalable fast enough to handle the expected load and grow easily when the load grows Available available enough of the time Scalable Scale-up increase
SYSTEM OF MONITORING AND CONTROL FOR THE AUTOMATION OF INDUSTRIAL WASH MACHINES
SYSTEM OF MONITORING AND CONTROL FOR THE AUTOMATION OF INDUSTRIAL WASH MACHINES Catalin BUJDEI Liviu PERNIU Ion TRUICAN Mihai CARAMAN Automatics Department, Transilvania University of Brasov, M.Viteazu
Detailed Table of Contents
Detailed Table of Contents Foreword Preface 1. Networking Protocols and OSI Model 1 1.1 Protocols in Computer Communications 3 1.2 The OSI Model 7 1.3 OSI Layer Functions 11 Summary 19 Key Terms and Concepts
Run-time Variability Issues in Software Product Lines
Run-time Variability Issues in Software Product Lines Alexandre Bragança 1 and Ricardo J. Machado 2 1 Dep. I&D, I2S Informática Sistemas e Serviços SA, Porto, Portugal, [email protected] 2 Dep.
MVC Architecture Driven Design and Implementation of Java Framework for Developing Desktop Application
, pp.317-322 http://dx.doi.org/10.14257/ijhit.2014.7.5.29 MVC Architecture Driven Design and Implementation of Java Framework for Developing Desktop Application Iqbal H. Sarker and K. Apu Department of
Distributed systems. Distributed Systems Architectures
Distributed systems Distributed Systems Architectures Virtually all large computer-based systems are now distributed systems. Information processing is distributed over several computers rather than confined
System Architectures for Integrating Web-Based User Interfaces into (Legacy) Database Applications
System Architectures for Integrating Web-Based User Interfaces into (Legacy) Database Applications Jun Han, Peninsula School of Computing and Information Technology, Monash University, McMahons Road, Frankston,
Home Gateway Enabling Evolution of Network Services
Home Gateway Enabling Evolution of Network Services V Tomohiro Ishihara V Kiyoshi Sukegawa V Hirokazu Shimada (Manuscript received July 3, 2006) Broadband access services have spread rapidly and are now
A Framework for the Design of Cloud Based Collaborative Virtual Environment Architecture
, March 12-14, 2014, Hong Kong A Framework for the Design of Cloud Based Collaborative Virtual Environment Architecture Abdulsalam Ya u Gital, Abdul Samad Ismail, Min Chen, and Haruna Chiroma, Member,
Life of a Packet CS 640, 2015-01-22
Life of a Packet CS 640, 2015-01-22 Outline Recap: building blocks Application to application communication Process to process communication Host to host communication Announcements Syllabus Should have
Introducing IBM Tivoli Configuration Manager
IBM Tivoli Configuration Manager Introducing IBM Tivoli Configuration Manager Version 4.2 GC23-4703-00 IBM Tivoli Configuration Manager Introducing IBM Tivoli Configuration Manager Version 4.2 GC23-4703-00
CME: A Middleware Architecture for Network-Aware Adaptive Applications
CME: A Middleware Architecture for Network-Aware Adaptive Applications Jun-Zhao Sun, Jari Tenhunen, and Jaakko Sauvola MediaTeam, Machine Vision and Media Processing Unit, Infotech Oulu P.O.Box 4500 4SOINFO,
Motivation Definitions EAI Architectures Elements Integration Technologies. Part I. EAI: Foundations, Concepts, and Architectures
Part I EAI: Foundations, Concepts, and Architectures 5 Example: Mail-order Company Mail order Company IS Invoicing Windows, standard software IS Order Processing Linux, C++, Oracle IS Accounts Receivable
Enterprise Application Designs In Relation to ERP and SOA
Enterprise Application Designs In Relation to ERP and SOA DESIGNING ENTERPRICE APPLICATIONS HASITH D. YAGGAHAVITA 20 th MAY 2009 Table of Content 1 Introduction... 3 2 Patterns for Service Integration...
Oracle Net Services for Oracle10g. An Oracle White Paper May 2005
Oracle Net Services for Oracle10g An Oracle White Paper May 2005 Oracle Net Services INTRODUCTION Oracle Database 10g is the first database designed for enterprise grid computing, the most flexible and
Efficiency Considerations of PERL and Python in Distributed Processing
Efficiency Considerations of PERL and Python in Distributed Processing Roger Eggen (presenter) Computer and Information Sciences University of North Florida Jacksonville, FL 32224 [email protected] 904.620.1326
Cisco Application Networking for IBM WebSphere
Cisco Application Networking for IBM WebSphere Faster Downloads and Site Navigation, Less Bandwidth and Server Processing, and Greater Availability for Global Deployments What You Will Learn To address
School of Computer Science
School of Computer Science Computer Science - Honours Level - 2014/15 October 2014 General degree students wishing to enter 3000- level modules and non- graduating students wishing to enter 3000- level
Using Mobiles for On Campus Location Tracking
Using Mobiles for On Campus Location Tracking F. Aloul A. Sagahyroon A. Al-Shami I. Al-Midfa R. Moutassem American University of Sharjah P.O. Box 26666, Sharjah, UAE {faloul, asagahyroon, b00020906, b00020142,
Business Process Management In An Application Development Environment
Business Process Management In An Application Development Environment Overview Today, many core business processes are embedded within applications, such that it s no longer possible to make changes to
Stream Processing on GPUs Using Distributed Multimedia Middleware
Stream Processing on GPUs Using Distributed Multimedia Middleware Michael Repplinger 1,2, and Philipp Slusallek 1,2 1 Computer Graphics Lab, Saarland University, Saarbrücken, Germany 2 German Research
Java TM WorkShop TM and Beyond. Joe Keller Director of Marketing SunSoft Developer Products
Java TM WorkShop TM and Beyond Joe Keller Director of Marketing SunSoft Developer Products Agenda Introduction Industry Trends Java Development Solutions SunSoft Java WorkShop Developer Programs Enterprise
Layering a computing infrastructure. Middleware. The new infrastructure: middleware. Spanning layer. Middleware objectives. The new infrastructure
University of California at Berkeley School of Information Management and Systems Information Systems 206 Distributed Computing Applications and Infrastructure Layering a computing infrastructure Middleware
Web-based Multimedia Content Management System for Effective News Personalization on Interactive Broadcasting
Web-based Multimedia Content Management System for Effective News Personalization on Interactive Broadcasting S.N.CHEONG AZHAR K.M. M. HANMANDLU Faculty Of Engineering, Multimedia University, Jalan Multimedia,
Chapter 4. Architecture. Table of Contents. J2EE Technology Application Servers. Application Models
Table of Contents J2EE Technology Application Servers... 1 ArchitecturalOverview...2 Server Process Interactions... 4 JDBC Support and Connection Pooling... 4 CMPSupport...5 JMSSupport...6 CORBA ORB Support...
Masters in Human Computer Interaction
Masters in Human Computer Interaction Programme Requirements Taught Element, and PG Diploma in Human Computer Interaction: 120 credits: IS5101 CS5001 CS5040 CS5041 CS5042 or CS5044 up to 30 credits from
Masters in Advanced Computer Science
Masters in Advanced Computer Science Programme Requirements Taught Element, and PG Diploma in Advanced Computer Science: 120 credits: IS5101 CS5001 up to 30 credits from CS4100 - CS4450, subject to appropriate
Chapter 1 Basic Introduction to Computers. Discovering Computers 2012. Your Interactive Guide to the Digital World
Chapter 1 Basic Introduction to Computers Discovering Computers 2012 Your Interactive Guide to the Digital World Objectives Overview Explain why computer literacy is vital to success in today s world Define
Remote Graphical Visualization of Large Interactive Spatial Data
Remote Graphical Visualization of Large Interactive Spatial Data ComplexHPC Spring School 2011 International ComplexHPC Challenge Cristinel Mihai Mocan Computer Science Department Technical University
Application Note. Introduction to. Page 1 / 10
Application Note Introduction to RAPID-TEST Page 1 / 10 ABSTRACT With the RAPID-TEST instruments, NTI offers a series of powerful multitone analyzers for an extremely fast, yet precise audio performance
Chapter 2 TOPOLOGY SELECTION. SYS-ED/ Computer Education Techniques, Inc.
Chapter 2 TOPOLOGY SELECTION SYS-ED/ Computer Education Techniques, Inc. Objectives You will learn: Topology selection criteria. Perform a comparison of topology selection criteria. WebSphere component
Managing a Fibre Channel Storage Area Network
Managing a Fibre Channel Storage Area Network Storage Network Management Working Group for Fibre Channel (SNMWG-FC) November 20, 1998 Editor: Steven Wilson Abstract This white paper describes the typical
Masters in Artificial Intelligence
Masters in Artificial Intelligence Programme Requirements Taught Element, and PG Diploma in Artificial Intelligence: 120 credits: IS5101 CS5001 CS5010 CS5011 CS4402 or CS5012 in total, up to 30 credits
INTELLECT TM Software Package
AxxonSoft INTELLECT TM Software Package Quick Start Guide Version 1.0.0 Moscow 2010 1 Contents CONTENTS... 2 1 INTRODUCTION... 3 1.1 Document purpose... 3 1.2 Purpose of the Intellect software package...
Why is CICS Still Alive? Dr Geoff Sharman Visiting Professor in Computer Science Birkbeck College
Why is CICS Still Alive? Dr Geoff Sharman Visiting Professor in Computer Science Birkbeck College Agenda Middleware the hidden part of IT CICS (Customer Information Control System) track record as a middleware
Peer to Peer Search Engine and Collaboration Platform Based on JXTA Protocol
Peer to Peer Search Engine and Collaboration Platform Based on JXTA Protocol Andraž Jere, Marko Meža, Boštjan Marušič, Štefan Dobravec, Tomaž Finkšt, Jurij F. Tasič Faculty of Electrical Engineering Tržaška
Component-based Development Process and Component Lifecycle Ivica Crnkovic 1, Stig Larsson 2, Michel Chaudron 3
Component-based Development Process and Component Lifecycle Ivica Crnkovic 1, Stig Larsson 2, Michel Chaudron 3 1 Mälardalen University, Västerås, Sweden, [email protected] 2 ABB Corporate Research,
The Role of the Software Architect
IBM Software Group The Role of the Software Architect Peter Eeles [email protected] 2004 IBM Corporation Agenda Architecture Architect Architecting Requirements Analysis and design Implementation
Client-Server Applications
Client-Server Applications Prof. Sanjeev Setia Distributed Software Systems CS 707 Distributed Software Systems 1 Client Server Systems Distributed Software Systems 2 1 Client/Server Application Distributed
The Study on Mobile Phone-oriented Application Integration Technology of Web Services 1
The Study on Mobile Phone-oriented Application Integration Technology of Web Services 1 Li Luqun 1, 2 Li Minglu 1 Cui Xianguo 2 1. Department of Computer Science of Shanghai Jiaotong University, 1954 Huashan
Aerospace Software Engineering
16.35 Aerospace Software Engineering Software Architecture The 4+1 view Patterns Prof. Kristina Lundqvist Dept. of Aero/Astro, MIT Why Care About Software Architecture? An architecture provides a vehicle
Software design (Cont.)
Package diagrams Architectural styles Software design (Cont.) Design modelling technique: Package Diagrams Package: A module containing any number of classes Packages can be nested arbitrarily E.g.: Java
A Comparison of Mobile Peer-to-peer File-sharing Clients
1. ABSTRACT A Comparison of Mobile Peer-to-peer File-sharing Clients Imre Kelényi 1, Péter Ekler 1, Bertalan Forstner 2 PHD Students 1, Assistant Professor 2 Budapest University of Technology and Economics
Base One's Rich Client Architecture
Base One's Rich Client Architecture Base One provides a unique approach for developing Internet-enabled applications, combining both efficiency and ease of programming through its "Rich Client" architecture.
Masters in Networks and Distributed Systems
Masters in Networks and Distributed Systems Programme Requirements Taught Element, and PG Diploma in Networks and Distributed Systems: 120 credits: IS5101 CS5001 CS5021 CS4103 or CS5023 in total, up to
JSLEE and SIP-Servlets Interoperability with Mobicents Communication Platform
JSLEE and SIP-Servlets Interoperability with Mobicents Communication Platform Jean Deruelle Jboss R&D, a division of Red Hat [email protected] Abstract JSLEE is a more complex specification than SIP
