Publicidad

Newleaks

5 de Jun de 2015
Newleaks
Newleaks
Newleaks
Newleaks
Publicidad
Newleaks
Newleaks
Newleaks
Newleaks
Newleaks
Publicidad
Newleaks
Newleaks
Newleaks
Newleaks
Newleaks
Publicidad
Newleaks
Newleaks
Newleaks
Newleaks
Newleaks
Publicidad
Newleaks
Newleaks
Newleaks
Newleaks
Newleaks
Publicidad
Newleaks
Newleaks
Newleaks
Newleaks
Newleaks
Publicidad
Newleaks
Newleaks
Newleaks
Newleaks
Newleaks
Publicidad
Newleaks
Newleaks
Newleaks
Próximo SlideShare
IRJET- Cross-Platform Supported E-Learning Mobile ApplicationIRJET- Cross-Platform Supported E-Learning Mobile Application
Cargando en ... 3
1 de 37
Publicidad

Más contenido relacionado

Publicidad

Newleaks

  1. Newleaks (Hybrid Application) Enrollment. No. - 9911103450 Name of Student - Deepak Mehta Name of supervisor(s) – Ms. Kritika Mehta May-2015 Submitted in partial fulfillment of the Degree of Bachelor of Technology In Computer Science Engineering DEPARTMENT OF COMPUTER SCIENCE ENGINEERING & INNFORMATION TECHNOLOGY JAYPEE INSTITU TE OF INFORMATION TECHNOLO GY, NOIDA
  2. (I) TABLE OF CONTENTS Chapter No. Topics Page No. Student Declaration Certificate from the Supervisor Acknowledgement Summary (Not more than 250 words) List of Figures List of Tables List of Symbols and Acronyms Chapter-1 Introduction 1-2 1.1 General Introduction 1.2 General problem with Hybrid application 1.3 Problem Statement 1.4 Benefits of proposed Solution Chapter-2 Litrature Survey 3-8 2.1 Summary of papers 2.2 Integrated summary of the literature studied 2.3 Comperission of existing approaches 2.4 Empirical study Chapter 3: Analysis, Design and Modeling 9-13 3.1 Requirements Specifications 3.2 Functional requirements
  3. 3.3 Non functional requirements 3.4 Overall architecture 3.5 Design Documentation 3.5.1 Use case diagram 3.5.2 Control Flow Diagrams Chapter-4 Implementation details and issues 14-16 4.1 Implementation details and issues 4.2 Risk Analysis and Mitigation Plan Chapter-5 Testing 17-20 5.1 Testing Plan 5.2 Component decomposition and type of testing required 5.3 List all test cases in prescribed format 5.4 Limitations of the solution Chapter-6 Findings & Conclusion 21 6.1 Findings 6.2 Conclusion 6.3 Future Work Appendices Gantt Chart 22 References 23 Bio-data (Resume) of Student 24-25
  4. (II) DECLARATION I hereby declare that this submission is my own work and that, to the best of my knowledge and belief, it contains no material previously published or written by another person nor material which has been accepted for the award of any other degree or diploma of the university or other institute of higher learning, except where due acknowledgment has been made in the text. Place: Noida Signature: Date: 04/06/2015 Name: Deepak Mehta Enrollment No: 9911103450
  5. (III) CERTIFICATE This is to certify that the work titled “Newleaks” submitted by “Deepak Mehta” in partial fulfillment for the award of degree of B.Tech of Jaypee Institute of Information Technology University, Noida has been carried out under my supervision. This work has not been submitted partially or wholly to any other University or Institute for the award of this or any other degree or diploma. Signature of Supervisor Name of Supervisor - Ms. Kritika Mehta Designation - Assistant Professor Date - 04/06/2015
  6. (IV) ACKNOWLEDGEMENT Apart from the efforts put in by me, the success of this seminar depends largely on the encouragement and guidelines of many others. I take this opportunity to express my gratitude to the people who have been and will be instrumental in the successful completion of this project. I would like to show my greatest appreciation to Ms. Kritika Mehta. Without her encouragement and guidance this seminar report would not have materialized. The guidance and support received from all the Faculty of Department/Institute and classmates who contributed, was vital for the success of the project. I am grateful for their constant support and help. Signature of the Student Name of Student - Deepak Mehta Enrollment Number - 9911103450 Date - 04/06/2015
  7. (V) SUMMARY The aim of this project is to access the semi-structured and unstructured data from the websites and present it on the mobile in a structured format as hybrid application. For this project we have focused on some news websites for data. The websites provide free RSS (Rich Site Summary) Feeds to the masses. The secondary goal of the project is to provide comparison among the news posted by websites, and to find similarity in them. The hybrid application will help in providing all the latest news with updates and helps in analyzing important news altogether. Signature of student Signature of supervisor Name - Deepak Mehta Name - Ms. Kritika Mehta Date - 04/06/2015 Date - 04/06/2015
  8. (VI) LIST OF FIGURES S.No Figure Details Page No Figure 1 Application Structure 8 Figure 2 Application functioning 11 Figure 3 Use Case Diagram 12 Figure 4 Data Flow Diagram 13
  9. (VII) LIST OF TABLES S No Table Descrition Page number Table 1 Integrated summary 6 Table 2 Testing Plan 16 Table 3 Component Decomposition 17 Table 4 List of all test cases 19 Table 5 Mitigation Plan 19
  10. (VIII) LIST OF SYMBOLS & ACRONYMS Abbreviation Full Form RSS Rich Site Summary IJACSA International Journal of Advance Computer Science Application IEEE Institute of Electrical and Electronic Engineers IJARCSM International Journal of Advance Research in Computer Science and Management Studies
  11. 1. INTRODUCTION 1.1 GENERAL INTRODUCTION Hybrid, by definition is anything derived from heterogeneous sources, or composed of elements of different or incongruous kinds. A hybrid app is one that is written with the same technology used for websites and mobile web implementations, and that is hosted or runs inside a native container on a mobile device. It is the marriage of web technology and native execution. Hybrid apps use a web view control (UIWebView on iOS, WebView on Android and others) to present the HTML and JavaScript files in a full-screen format, using the native browser rendering engine. WebKit is the browser rendering engine that is used on iOS, Android, Blackberry and others. That means that the HTML and JavaScript used to construct a hybrid app is rendered by the WebKit rendering engine and displayed to the user in a full-screen web view control, not in a browser. Apache Cordova (formerly PhoneGap) is an example of a JavaScript abstraction layer over native APIs. Through this abstraction layer a common set of APIs is exposed in JavaScript, and these JavaScript APIs work on any device supported by the framework. The real secret sauce of hybrid apps is the implementation of an abstraction layer that exposes the device capabilities (read: native APIs) to the hybrid app as a JavaScript API. 1.2 General problem with Hybrid Application The rich features which are available on a native application are limited on a hybrid application as here we are not making apps for a particular hardware or mobile os. Performance of the application also varies from platform to platform (i.e. Android and Wp8). Further the basic APIs mentioned in PhoneGap are still limited to particular set of hardware. 1
  12. Further with the regular updates in os of different platforms it’s difficult for a hybrid application to keep a check on proper functioning of the app as well as consumer satisfaction around the globe. . 1.3 Problem Statement: The main reason for choosing this topic was that there are many applications in particular platform which remain specific to them and either come after a considerable amount of time or don’t come at all. Further building an application which itself ranks application across different platforms is a challenging task to do with a hybrid app.Further a proper hybrid application with all the features throughout different platforms is hard to find and a proper news web application will help in overall advancement in getting latest news updates throughout different platforms from different news websites. 1.4 Overview and Benefits of Proposed solution:  Deliver content regardless of the mobile platform being used because Web browsers generally have the same capabilities.    It is usually written in a Web-based code such as JavaScript, CSS and HTML, like a Web application, but it runs on the device, rather than on a Web page, making use of a device’s browser engine without using the browser itself.    Different news from different websites all over the web clubbed in a single application will help in getting news instantly and will save time.    Further a hybrid application for news with interactive UI will help users with different operating system to access them easily.  2
  13. 2. Litrature Study Literature study is basically done to understand the hybrid application development and overall research done in this section. 2.1 Research paper study Paper 1: Title of paper Mobile multiplatform development: An experiment for performance analysis Authors L. Corral, A. Sillitti, G. Succi Year of Publication November 14, 2012 Publishing Details The 9th International Conference on Mobile Web Information Systems. Summary The paper presented a study to analyse the performance of mobile web applications using PhoneGap and Android OS to understand the most relevant performance matters raised by multiplatform tools. Using principles of machine benchmarking, it was determined that in 7 out of 8 routines, web-based implementation was slower than the native one, observing that the execution time increases due to an architecture that requires invoking methods using at least one call back and waiting for its response Though for general-purpose business applications, even though it is expected a performance penalty, it is noted that such penalty will be slight. Further it was stated that there is a lot of scope for improvement in multiplatform development tools to accomplish a true cross- platform, unified user experience. Web link http://www.sciencedirect.com/science/article/pii/S1877050912004516 3
  14. Paper 2: Title of paper Mobile Application Development Framework: Exploring and Discussion Authors Dr. A. M. AlBar Year of Publication Apr-May 2014 Publishing Details Current Trends in Technology and Science ISSN: 2279- 0535. Volume: 3 Summary The paper introduces the enterprise business applications and how it moved towards mobility .It takes a look on mobile applications development and enterprise mobile applications framework and models. In addition it investigates about the architecture of enterprise mobile applications and importance of securing them. Different frameworks were mentioned for different platforms along with their specific targets, language, hardware, UI, encryption as well as license. The need of a cross platform mobile application for covering the maximum customers in the market and for regularly improving the performance and removing bugs with regular updates was also mentioned. Web link www.ctts.in/assets/upload/2186ctts-33061%20vol-3%20iss-3 4
  15. Paper 3: Title of paper Mobile Application Software Engineering: Challenges and Research Directions Authors J. Dehlinger and J. Dixon Year of Publication 2011 Publishing Details International Conference on Mobile Web Information Systems Summary The paper looks at four significant challenges to mobile application software engineering and provides a discussion of possible research directions, drawing from existing areas of software engineering that should be further examined. Specifically, it examines the challenge of: 1) creating user interfaces accessible to differently-abled users; 2) handling the complexity of providing applications across multiple mobile platforms; 3) designing context-aware applications; and, 4) specifying requirements uncertainty. This apper asserts that mobile application software engineering research efforts need to focus on development approaches emphasizing UI design. Web link http://www.mobileseworkshop.org/papers/7_Dehlinger_Dixon.pdf 5
  16. 2.2 Integrated Summary of Literature S No. Name of the paper Technique used 1 Mobile multiplatform development: An experiment for performance analysis Execution time difference between native app and PhoneGap app 2 Mobile Application Development Framework: Exploring and Discussion Testing applications on different platform with different framework 3 Mobile Application Software Engineering: Challenges and Research Directions Software engineering Table-1:Integrated Summary 2.3 Comparison of existing approaches After going through all these research papers and literary survey, we came to find out that there is a great scope in this idea which motivated us for implementation of this project. Recent developments in the field of hybrid application development have immensely changed the way of mobile computing as well as the concept of mobile application development. In a hybrid application development there is a use of web view control to present the HTML and JavaScript files in a full-screen format, using the native browser rendering engine. WebKit is the browser rendering engine that is used on iOS, Android, Blackberry and others. That means that the HTML and JavaScript used to construct a hybrid app is rendered by the WebKit rendering engine and displayed to the user in a full-screen web view control, not in a browser. Apache Cordova is one of the open-source mobile development framework which is constantly updating its services for increasing the boundaries of development .The API’s are constantly being updated so as to use more device’s hardware like those of the native application. 6
  17. 2.4 Empirical Study Apache Cordova applications rely on a common config.xml file that provides information about the app and specifies parameters affecting how it works, such as whether it responds to orientation shifts. The application itself is implemented as a web page, by default a local file named index.html, that references whatever CSS, JavaScript, images, media files, or other resources are necessary for it to run. The app executes as Webview within the native application wrapper, which is distribute to app stores.The Cordova-enabled WebView may provide the application with its entire user interface. On some platforms, it can also be a component within a larger, hybrid application that mixes the WebView with native application components. As of version 3.0, we can use two basic workflows to create a mobile app. While we can often use either workflow to accomplish the same task, they each offer advantages: Cross-platform (CLI) workflow: This workflow is used if we want our app to run on as many different mobile operating systems as possible, with little need for platform- specific development. This workflow centers on the Cordova utility, otherwise known as the Cordova CLI that was introduced with Cordova 3.0. The CLI is a high-level tool that allows us to build projects for many platforms at once, abstracting away much of the functionality of lower-level shell scripts. The CLI copies a common set of web assets into subdirectories for each mobile platform, makes any necessary configuration changes for each, and runs build scripts to generate application binaries. The CLI also provides a common interface to apply plugins to our app. Platform-centered workflow: This workflow is used if we want to focus on building an app for a single platform and need to be able to modify it at a lower level. We need to use this approach, for example, if you want your app to mix custom native components with web-based Cordova components, as discussed in Embedding WebViews. As a rule of thumb, use this workflow if you need to modify the project within the SDK. This workflow relies on a set of lower-level shell scripts that are tailored for each supported 7
  18. platform, and a separate Plugman utility that allows you to apply plugins. While you can use this workflow to buil d cross-platform apps, it is generally more difficult because the lack of a higher-level tool means separate build cycles and plugin modifications for each platform. Still, this work flow allows you greater access to development options provided by each SDK, and is esseential for complex hybrid apps. See the various Platform Guides for details on each platfo rm's available shell utilities. Figure 1: Application Structure 8
  19. 3. ANALYSIS, DESIGN AND MODELLING People often use their smartphones to know the latest news over the web; some people even use Facebook as a source to get news from different news channels. So I’m broadly trying to develop a hybrid application which clubs news from different news websites and shows their latest updates automatically using the RSS feeds. Since it is a hybrid app so there is no need to work out differently for different mobile OS 3.1 Requirement Specification Software Requirements: Front end – HTML, CSS, javascript Tool Kit – Eclipse, Notepad++ Back end – RSS feeds updater Hardware Requirements: OS – Android, ios, Wp8 HDD Space – 1 GB RAM – 512mb 3.2 Functional Requirements: Some of the functional requirements of the project are as follows:  The system is supposed to collect the RSS feeds from different websites    Then the data collected and clubbed according to their sections.    Afterwards, the data is classified in their respective section.    This will then be used to show it in the user interface.    Auto updates will keep coming to show the latest news.  9
  20. 3.3 Non-Functional Requirements: Some of the Non-functional requirements of the project are as follows: 3.3.1 Performance Requirements  Time taken for execution should be minimal.  The accuracy of the system should be high. 3.3.2 Software Quality Attributes  Portability: The system should be developed on a platform independent language which will make this system portable.  Usability: The system should be user friendly regarding the usage of the system.  Adaptability: The system is adaptable for all web browsers and operating systems. 3.4 Overall Architecture Data Collection: The RSS feeds are collected from the website’s database and fed into the hybrid application being made. The application classifies and updates the news reviews according to their respective feeds being taken from. This is then given as output. Data Streaming- For collecting rss feeds the website’s database is needed which is constantly being updated and for this I have used Google feed API available for general public for free. 10
  21. Data Description: Google Feed API allows us to parse RSS feeds into simple to use data. It takes any valid RSS or Atom feed and parses it into a simple, standard dat a model. It helps users who want to receive timely updates from favorite websites or to aggregate data from many sites so users who want to receive timely updates from favorite websites or to agg regate data from many sites need not to ma nually check the website for updates . Figure 2: Application Functioning 11
  22. 3.5 Design Documentation The Unified Modelling Language - UML - is most-used specification, and the way the world models not only application structure, behaviour, and architecture, but also business process and data structure. So for better understanding of project different types of UML diagrams are enclosed keeping in mind user point of view, developer point of view as well as customer point of view. 3.5.1 Use case Diagram Figure 3: Use Case Diagram 12
  23. 3.5.2 Data Flow Diagram Enter the application Authenticate internet connection Display error Show home page User Admin View Latest news Control the rss feeds Figure 4: Data Flow Diagram 13
  24. 4. IMPLEMENTATION DETAILS AND ISSUES In this project, the effort is to develop a hybrid application which shows news from different websites using Rss feeds and categorize them according to their source. The hybrid application also helps user to connect with Facebook as well as YouTube to get the latest news 4.1 Implementation and Issue details For the process of hybrid application development, first data from different websites are collected using their RSS feeds with the help of Google Feed API. Further callback option is added to this API so as to use the jQuery Mobile DOM completely. RSS files are essentially XML formatted plain text. The RSS file itself is relatively easy to read both by automated processes and by humans alike.Since the RSS feeds will not show the complete news so there will be an option to open the complete news in the browser. Further with the additional link of Facebook we can link up the users with our Facebook page. Moreover YouTube being used extensively nowadays we added a YouTube link with query “latest news in India”. Following technologies are involved in development of application- HTML 5: To create and markup the pages. CSS 3: To style the pages. We don't have a custom CSS style sheet and we'll only use the one provided and required by jQuery Mobile. JavaScript: This is the language we'll use to program the application's logic. It is the only language supported by PhoneGap. 14
  25. JQuery: jQuery will be used to select elements, attach event handlers, and run AJAX requests. It is also a dependency of jQuery Mobile. JQuery Mobile: This is our framework of choice to create the UI of our pages. It allows us to easily optimize a website for mobile devices and quickly create mobile interfaces. PhoneGap: Wraps all our files so we can compile them as if we were building a native app. Moreover, PhoneGap offers some interesting and useful APIs to communicate with the device hardware, such as Storage and Connection. In addition to the above, we'll use also these specific Cordova Core Plugins: InAppBrowser: This is a web browser that displays in the app when calling window.open. Two important methods have been added: executeScript() and insertCSS(). The first allows you to inject JavaScript code, while the second adds CSS code into the InAppBrowser window. Storage plugin: Provides access to the device's storage options. Note that, as the documentation asserts, some devices already provide an implementation of these specifications, in which case the built-in support applies. Notification plugin: Lets you create visual, audible, and tactile device notifications. Of the several methods available, we'll use just alert () to show some messages to the user. For example, this plugin will be used when a user successfully adds or deletes a feed. For more information, refer to the Notification docs. 15
  26. 4.2 Risk Analysis and Mitigation Plan 16
  27. 5. TESTING 5.1 Testing Plan S. Type of Will Test Comments/Explanations Software No. Test Be Compone Performed nts ? 1 Requirements Yes This testing is required Complete Testing because we need to verify Application whether our requirements are Including able to solve the current GUI problem or not 2 Unit Testing Yes This testing allows us to test Data individual modules before Pre- Processing integrating them together to form a single software 3 Integration Yes This test is important to check All whether the module are Adjacent giving the same results after Modules integrating as before 4 Performance Yes This test is important to All The calculate the efficiency of the Software software also helps us to find Components any performance issue related Individual to the system 17
  28. 5 Security Yes We have performed this test to Data Check whether privacy is Streaming maintained. Module 7 Volume Yes We have performed this test to Data pre- judge the embedding in a Processing better way. 8 Compliance Yes This test is performed in order GUI to check whether we are Components implementing and meeting the defined standards Table 3: Testing 18
  29. 5.2 Component Decomposition & Type of Testing Required S. No Various Type of Testing Required Technique For Components that Writing Test require testing Cases 2 Data Preprocessing Unit Black Box Performance Volume 3 Data Embedding Unit White Box Performance Volume 4 GUI Compliance Black Box Table 4: Component Decomposition 5.3 List of all test Cases S. No Test Case Id Input Expected Status Output 1 R1 Rss Updated News Pass 2 R2 Video YouTube query Pass 3 R3 Photos Facebook page Pass pic Table 5 19
  30. Legend: DS1: It tests whether Rss feeds are displayed properly or not. DS2: It tests whether the YouTube Query is working properly or not. DJ1: It tests whether the photos linked to the Facebook profile works or not. 5.4 Limitations of the solution After all the testing and analysis of the project, following limitations were found:  Execution Speed: There is a considerate difference in execution time in between a native application and a web application.    Optimization: This is the biggest limitation of my project right now. As the web applications used to build hybrid apps have a very limited set of controls on hardware and the graphics intensive application development is strictly avoided and rather native application are used in these case.    Total dependence on web: This can also be counted as of the limitation as the  application seems to be totally inactive in absence of internet connection. But since nowadays most apps rely on this dependence so it’s not a big point. 20
  31. 6. Findings and Conclusion 6.1 Findings After successful execution of project, we found that this project can be used as a unified application for getting latest news update all over the web. Further as there is no such unified application over different platforms so it will help in making it popular over different app stores. 6.2 Conclusion This report has looked in detail at the major techniques used for hybrid application development. It helps us in deploying the application over major platforms and further helps Hybrid apps give a short cut to deploy web apps as native apps by wrapping the web app code using a native framework such as PhoneGap. The distinct advantage the hybrid option gives is the reduction of development cost and time for rolling out apps for various mobile platforms using the same skill sets required for web application development. Wrapper technology frameworks which are available for most popular mobile platforms also expose some platform specific features, thus making them richer than pure web apps. 6.3 Future Work The application can be linked up with cloud storage and users can save selective news on their device as well as cloud. Special features can be added as “Single finger scroll”, “Two finger scroll” to load up a particular section of news. Use of “Big data” to analyze the most read and trending topics for the application can help to show the users what they generally like to read. Here sentimental analysis can be a key help to understand user perception. 21
  32. Appendix-A Gantt chart: Phase 1: Project initiation and Requirement gathering Phase 2: Planning, Estimating and Scheduling Phase 3: Modeling, Analysis and Design Phase 4: Coding and Unit testing Phase 5: Component integration and System testing Fig Phase 5 Phase 4 Phase 3 Phase 2 Phase 1 0 2 4 6 8 X-axis denotes time in weeks. 22
  33. Appendix-B References 1. D C, P Afonso . Developing once, deploying everywhere(MobiWIS 2011,) 2. Current Trends in Technology and Science ISSN: 2279- 0535. Volume: 3 3. B. Fling, Mobile design and development. O’Reilly, 2009. 4. phonegap.com 5. www.youtube.com 6. hindustantimes.com 7. https://developers.google.com 23
  34. Deepak Mehta Address:Shiv Shakti PG, Sector-128 Mo. No.: 9910828307 Noida(201301) Email ID: dpkmhta@gmail.com Career Objective: To collect, disseminate and exchange technical knowledge with an institution that would allow me to develop my skills, while contributing to institutional goals. Educational Qualification: Qualification Institute Board Year Of Passing %Marks B. Tech (CSE) J.I.I.T Deemed University 2011-2015 5.5 CGPA (Upto 7th sem) Intermediate M. B. Public School, Kota, Rajasthan R.B.S.E 2010 77.85% High School M. B. Public School, Kota, Rajasthan R.B.S.E 2008 90.67% CURRENTLY IN 8th SEMESTER OF B.TECH [CSE] FROM JIIT UNIVERSITY. Technical Skill Sets:  LANGUAGES: C, C++, Basic JAVA.  TOOLS: NetBeans IDE, Rational Rose, Adobe Photoshop, NS-2. Projects:  “Text and Audio chat on LAN Server” in JAVA. It provided text and audio chat between computer machines which are connected through Lan or local wi-fi server.  “Secure Data Transfer” using JAVA. It provides secure transmission of data on network, we use concept of cryptography along with stegnography. Industrial Training:  Trainee at Shreyanshi Consultancy (Microsoft Technology Associate), Noida in “Cloud Computing”. Extra-Curricular Activities:  Actively participated in the College’s Annual Fest.  Participated in “Basic Internet and Cyber Security” workshop at JIIT Noida.  Participated in plays, debates and quizzes at school level.
  35. Strength:  Confident, Optimistic, Interactive & always ready to learn.  Always owned with “Can-Do-Spirit”.  Interested in updating knowledge through continuous learning.  Can easily adapt to new environment & flexible with locations. Hobbies:  Playing Cricket & Table tennis.  Playing Chess & online games  Listening Music and Net surfing.
  36. 9911103450_1.1 GENERAL INTRODUCTION ORIGINALITY REPORT 14% 8% 1% 9% SIMILARITY INDEX INTERNET SOURCES PUBLICATIONS STUDENT PAPERS PRIMARY SOURCES Submitted to TechKnowledge 5%1 Student Paper www.localapps.co 3%2 Internet Source gcn.com 2%3 Internet Source Submitted to INTI International University 2%4 Student Paper Submitted to Jawaharlal Nehru University 1% 5 (JNU) Student Paper Submitted to Higher Education Commission 1% 6 Pakistan Student Paper Joorabchi, Mona Erfani, and Ali Mesbah. <1% 7 "Reverse Engineering iOS Mobile Applications", 2012 19th Working Conference on Reverse Engineering, 2012. Publication ctts.in <1%8 Internet Source
  37. mipdatabase.com <1%9 Internet Source csrit.gershteyn.net <1%10 Internet Source EXCLUDE QUOTES ON EXCLUDE MATCHES OFF EXCLUDE ON BIBLIOGRAPHY
Publicidad