Global Software Development Development of a Web Platform for Exchanging Educational Content in a Virtual Team Setting

Total Page:16

File Type:pdf, Size:1020Kb

Global Software Development Development of a Web Platform for Exchanging Educational Content in a Virtual Team Setting Global Software Development Development of a web platform for exchanging educational content in a virtual team setting Sofia Lazopoulou, Xiuqing Li, Nikolaj Lund, Bastian Muller,¨ Mikkel Nielsen, Frederik Williams IT-University of Copenhagen Rued Langgaards Vej 7, 2300 Kbh S slaz, xili, nilu, bmue, mibn, fwil @itu.dk { } May 22, 2012 Abstract This paper explains the process of developing a web platform for exchanging educational content. The focus lies on the collaboration and team manage- ment, as well as the product itself. During the project, various difficulties have been encountered. As a result, we describe the problems that virtual teams might encounter when working on a project of similar nature, and we propose different methods to mitigate or even avoid such difficulties in future teamwork. Even though the resulting approach is not perfect and might be of limited use for other development teams, the presented suggestions could have certainly optimized the development process of the project. Contents 1 Introduction 3 2 Background 4 2.1 Situation ............................... 4 2.2 M-Pesa ............................... 4 2.3 DRM ................................ 5 3 Related work 5 1 4 Method 6 4.1 Workflow .............................. 6 4.2 Artifacts ............................... 10 4.3 Collaboration ............................ 11 4.3.1 Cultural Differences and lack of Common Ground .... 11 4.3.2 Language Difficulties .................... 12 4.3.3 Coordination and communication difficulties ....... 13 4.3.4 Time/Calendar differences and individual schedules .... 14 4.3.5 Difficulties with Collaboration Technologies ....... 15 4.3.6 Motivational Challenges .................. 16 4.3.7 Summary .......................... 17 5 Product 18 5.1 Requirements ............................ 18 5.2 Overview .............................. 19 5.3 User Interface ............................ 20 5.4 Integration with M-Pesa ...................... 21 5.5 Use Case View ........................... 22 5.6 Logical View ............................ 24 5.7 Data View .............................. 25 5.8 Security View ............................ 26 5.8.1 Explicit Authentication ................... 26 5.8.2 DRM ............................ 27 5.9 Development View ......................... 28 5.10 Summary .............................. 28 6 Evaluation 29 6.1 Workflow .............................. 30 6.1.1 Group organizations provided loose but effective control . 30 6.1.2 Interchanging teams .................... 31 6.1.3 Awareness ......................... 31 6.1.4 Experience with virtual meetings .............. 32 6.1.5 Implementation activities .................. 33 6.1.6 Value of artifacts ...................... 34 6.2 Product ............................... 36 6.2.1 Functionality ........................ 36 6.3 Technology ............................. 37 7 Discussion 38 7.1 Artifact Efficiency .......................... 39 2 8 Further Work 41 8.1 Product Improvements ....................... 41 8.2 No Collaboration with other Groups ................ 42 9 Conclusion 43 A Appendix 45 A.1 Product Development Iterations .................. 45 A.1.1 Analysis Phase Activities .................. 46 A.1.2 Design Phase Activities .................. 47 A.1.3 Implementation Phase Activities .............. 47 A.2 Organization in Analysis and Design for 1st Iteration ....... 48 A.3 Organization in Implementation for 1st Iteration .......... 49 A.4 Organization in Analysis and Design for 2nd Iteration ....... 50 A.5 Organization in Implementation for 2nd Iteration ......... 51 A.6 Table Listing artifacts ........................ 52 A.7 Screen Dumps of Skill and Motivation Sheet ............ 55 A.8 Collaboration Protocol ....................... 56 A.9 Code and deployment guide .................... 58 A.10 OpenProj Project plan ........................ 60 A.11 Technology Evaluation ....................... 61 A.12 Requirements ............................ 66 A.13 Use Cases .............................. 68 A.14 Meeting Resume Sample ...................... 71 A.15 Test Cases .............................. 75 1 Introduction This report describes the collaborative project between IT University of Copen- hagen, Denmark and Strathmore University, Nairobi Kenya. Six graduate students of each university were responsible for implementing an end product and the man- agement of the collaborative effort required to achieve this. The end product is a web platform for exchanging educational contents at a fee. A user is able to register, preview all the authorised content, look for content of a specific category and search for specific content. When a user registers, he/she automatically gets a personal virtual money account that should be used in order to pay when downloading content. To load money to this virtual account, the user can transfer money via the M-Pesa payment system1. Registered users are also 1M-Pesa is explained in detail in Section 2.2 3 able to act as content creators, by uploading their own content, setting a price and specifying descriptive tags, that helps users when searching for content. From the given project description and collaborative situation, the following concise definition of the problem at hand was formulated: How can a group of 12 students, with 5 different nationalities, situated in Den- mark and Kenya, effectively develop a web based software system, capable of stor- ing educational content for later browsing and purchasing? This report is structured in the following way. In section 2 the relevant back- ground concepts are described; in section 3 the related work is introduced; in sec- tion 4 the method consisting of workflow, artifacts and collaboration is presented; in section 5 the details of the developed product is explained; in section 6 both the workflow and product is evaluated; in section 7 challenges and method improve- ments are discussed; in section 8 further work is defined, consisting of improve- ments and a different approach to the collaboration. Finally, the conclusions are drawn in section 9, followed by references and appendices. 2 Background In this section, a background to the components of the platform, the payment sys- tem M-Pesa and the concept of Digital Rights Management is provided. 2.1 Situation The main motivation for the development of such a web platform is the increasing demand in the developing world for educational content and systems to make it easily available and exchangeable. Providing students with such a system, will boost the knowledge sharing between them. For educational content authors, it will decrease the effort required to make their material globally available to students, as access is not limited to organizations. In countries of the developing world, payment via bank transactions or credit cards is less common, as their usage is regarded as a security risk. Instead, mobile payment systems are common and widely available. 2.2 M-Pesa As it should be possible to offer content exchanged on the platform for sale, it needs to be integrated with a payment system of a payment provider. In Kenya, the lead- ing and most established mobile payment system is M-Pesa. Moreover, it is also available in Tanzania, Afghanistan and South Africa. The system is widespread 4 and is commonly used for the purchase of goods, payment of bills and direct trans- fer between customers. As it is mobile, it requires a mobile phone. However, the application is integrated in the SIM card and works both on low and high-end devices and provides a simple interface for sending and receiving money. The ser- vice requires no visit to a bank to perform a transaction and in general it requires no bank account. Instead, customers are able to deposit and withdraw money through licensed agents (e.g., gas stations, shops, etc.). In its nature, it is very similar to the traditionally used bank transfer, instead of payment via credit card. The main difference between the two concepts is that of push and pull transactions. When using credit cards, the customer gives his card details (name, card number, expiration date and verification code) to a third-party and allows it to debit money from his account. With M-Pesa and bank transfer, transaction customer sends money to a third-party, it is a push transaction. The advantage of the later scheme is safety, because no details are stored at third-party and can not be stolen. 2.3 DRM DRM (Digital Rights Management) is an umbrella term used for a number of ac- cess control technologies which are used by publishers, copyright holders and in- dividuals to limit the use and distribution of digital content after purchase. In most cases, the content is encrypted before distribution by the content provider and a special application on the customer’s device is then able to open the content by decrypting it, and enforcing the limitations imposed by the provider. In case of the web platform, purchased content is encrypted when the user downloads a file using a unique device ID. A client-side reading application will then check the ID and decrypt the content in case it matches. Thus, further distribution of content is prevented. 3 Related work In the scope of this course at the universities, two other groups worked on related products. Both teams had the task to design and construct an eBook reading ap- plication for handheld devices, that allows the display and navigation of hypertext documents. One group focused on the implementation for devices running the Symbian operating system, whereas the second
Recommended publications
  • Programming Technologies for the Development of Web-Based Platform for Digital Psychological Tools
    (IJACSA) International Journal of Advanced Computer Science and Applications, Vol. 9, No. 8, 2018 Programming Technologies for the Development of Web-Based Platform for Digital Psychological Tools Evgeny Nikulchev1, Dmitry Ilin2 Pavel Kolyasnikov3 Ilya Zakharov5, Sergey Malykh6 4 MIREA – Russian Technological Vladimir Belov Psychological Institute of Russian University & Russian Academy Russian Academy Science Academy of Education Science, Moscow, Russia Moscow, Russia Moscow, Russia Abstract—The choice of the tools and programming In addition, large accumulated data sets can become the technologies for information systems creation is relevant. For basis for machine learning mechanisms and other approaches every projected system, it is necessary to define a number of using artificial intelligence. Accumulation of data from criteria for development environment, used libraries and population studies into a single system can allow a technologies. The paper describes the choice of technological breakthrough in the development of systems for automated solutions using the example of the developed web-based platform intellectual analysis of behavior data. of the Russian Academy of Education. This platform is used to provide information support for the activities of psychologists in The issue of selecting methodological tools for online and their research (including population and longitudinal offline research includes several items. researches). There are following system features: large scale and significant amount of developing time that needs implementation First, any selection presupposes the existence of generally and ensuring the guaranteed computing reliability of a wide well-defined criteria, on the basis of which a decision can be range of digital tools used in psychological research; ensuring made to include or not to include techniques in the final functioning in different environments when conducting mass toolkit.
    [Show full text]
  • Play Framework One Web Framework to Rule Them All
    Play Framework One Web Framework to rule them all Felix Müller Agenda Yet another web framework? Introduction for Java devs Demo Summary Yet another web framework? Yet another web framework? Why do we need another web framework? Existing solutions: Servlets, Ruby on Rails, Grails, Django, node.js Yet another web framework? Threaded Evented 1 thread per 1 thread per cpu request core threads may block threads shall never during request block processing Yet another web framework? Threaded Evented Servlets Node.js Ruby on Rails Play Framework Grails Django Yet another web framework? Play is completely asynchronous horizontally scalable out of the box and a lot other goodies... Introduction for Java devs Play Framework MVC pattern Scala and Java API asset compiler for CoffeeScript and LESS + Google Closure Compiler + require.js Play Console play new <appName> play compile|test|run|debug play ~compile|test|run Application structure app directory contains source code, templates and assets standard packages based on MVC: app/controllers app/models app/views Application structure public directory is default for assets as css and javascript files public/stylesheets public/javascripts public/images served directly by web server Routes configuration contains url to controller mapping statically typed pattern: <HTTP method> <url> <controller> Controllers import play.mvc.*; public class Application extends Controller { public static Result index() { return ok("It works!"); } } Templates built-in Scala based template engine
    [Show full text]
  • Applicazioni Web in Groovy E Java
    Università degli Studi di Padova Applicazioni web in Groovy e Java Laurea Magistrale Laureando: Davide Costa Relatore: Prof. Giorgio Clemente Dipartimento di Ingegneria dell’Informazione Anno Accademico 2011-2012 Indice INTRODUZIONE ........................................................................................... 1 1 GROOVY ............................................................................................... 5 1.1 Introduzione a Groovy ................................................................................. 5 1.2 Groovy Ver 1.8 (stable).............................................................................. 10 1.3 Installare Groovy ........................................................................................ 14 1.3.1 Installazione da codice sorgente......................................................... 15 1.4 L’interprete Groovy e groovyConsole ....................................................... 16 1.5 Esempi ........................................................................................................ 17 2 NETBEANS .......................................................................................... 20 2.1 Introduzione a Netbeans ............................................................................. 20 2.2 Installare Netbeans 7.1 ............................................................................... 22 2.3 “Hello World!” in Netbeans ....................................................................... 23 3 ARCHITETTURA MVC .......................................................................
    [Show full text]
  • Play Framework Documentation
    Play framework documentation Welcome to the play framework documentation. This documentation is intended for the 1.1 release and may significantly differs from previous versions of the framework. Check the version 1.1 release notes. The 1.1 branch is in active development. Getting started Your first steps with Play and your first 5 minutes of fun. 1. Play framework overview 2. Watch the screencast 3. Five cool things you can do with Play 4. Usability - details matter as much as features 5. Frequently Asked Questions 6. Installation guide 7. Your first application - the 'Hello World' tutorial 8. Set up your preferred IDE 9. Sample applications 10. Live coding script - to practice, and impress your colleagues with Tutorial - Play guide, a real world app step-by-step Learn Play by coding 'Yet Another Blog Engine', from start to finish. Each chapter will be a chance to learn one more cool Play feature. 1. Starting up the project 2. A first iteration of the data model 3. Building the first screen 4. The comments page 5. Setting up a Captcha 6. Add tagging support 7. A basic admin area using CRUD 8. Adding authentication 9. Creating a custom editor area 10. Completing the application tests 11. Preparing for production 12. Internationalisation and localisation The essential documentation Generated with playframework pdf module. Page 1/264 Everything you need to know about Play. 1. Main concepts i. The MVC application model ii. A request life cycle iii. Application layout & organization iv. Development lifecycle 2. HTTP routing i. The routes file syntax ii. Routes priority iii.
    [Show full text]
  • Marius Gligor Microservices Architect
    Marius Gligor Microservices architect. Fluent in Scala, Java, Python, C, C++ , learning Haskell Working comfortable on Linux, Mac and Windows environments About me: Address: Sibiu, Romania, European Union LinkedIn: https://www.linkedin.com/in/marius-g-35a7165/ Nationality: Romanian GitHub: https://github.com/gmax-ws Mail: mailto :[email protected] Web: https://www.scalable-solutions.ro Mobile: +40 74 209 3069 References: https://www.scalable-solutions.ro/rec/mag_gcd_letter_of_recommendation_20141114.pdf Skype: marius.gligor Twitter: @GligorMarius I'm a Senior Software Engineer having more than 25 years great experience as programming language. For the beginning, I learned about Java programming Software Developer and Software Architect working in various projects. Immediately language then about the Microsoft .NET C# programming language. Finally, I decided after my graduation, as a Software System Engineer I designed a lot of products, that Java is the best choice for me. My first Java based projects were Desktop tools and OS patches for a wide range of machines, 8 bits microcomputers, Applications using the SWING framework and MySQL database. In the same time, minicomputers (PDP-11) and mainframes using mainly the assembly languages. In I've started to learn about the JEE and related technologies. From 2009 until today 1990 I have had for the first time an IBM PC on my hands. Using the x86 assembly I'm working mainly on JEE and Core Java applications. I'm specialized on the sever language, I designed small tools and viruses’ cleaners. Soon in 1992 the C and C++ side and Enterprise Information Systems (database) designing and implementing became my main programming languages for the next decays.
    [Show full text]
  • Generation of an Architecture View for Web Applications Using a Bayesian Network Classifier Juan-Carlos Castrejon-Castillo, Rafael Lozano, Genoveva Vargas-Solar
    Generation of an Architecture View for Web Applications using a Bayesian Network Classifier Juan-Carlos Castrejon-Castillo, Rafael Lozano, Genoveva Vargas-Solar To cite this version: Juan-Carlos Castrejon-Castillo, Rafael Lozano, Genoveva Vargas-Solar. Generation of an Architecture View for Web Applications using a Bayesian Network Classifier. CONIELECOMP 2012 - International Conference on Electrical Communications and Computers, Feb 2012, Cholula, Puebla, Mexico. pp.368- 373, 10.1109/CONIELECOMP.2012.6189940. hal-00922891 HAL Id: hal-00922891 https://hal.archives-ouvertes.fr/hal-00922891 Submitted on 2 Jan 2014 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. Generation of an Architecture View for Web Applications using a Bayesian Network Classifier Juan Castrejon,´ Rafael Lozano Genoveva Vargas-Solar Campus Ciudad de Mexico´ LIG-LAFMIA Labs Instituto Tecnologico´ y de Estudios Superiores de Monterrey Centre National de la Recherche Scientifique fA00970883, [email protected] [email protected] Abstract—A recurring problem in software engineering is the apply changes to individual components, by maintaining clear correct definition and enforcement of an architecture that can responsibilities and dependencies by means of three logical guide the development and maintenance processes of software grouping layers, that is, Model, View and Controller layer.
    [Show full text]
  • Play for Java MEAP V2
    MEAP Edition Manning Early Access Program Play for Java version 2 Copyright 2012 Manning Publications For more information on this and other Manning titles go to www.manning.com ©Manning Publications Co. Please post comments or corrections to the Author Online forum: http://www.manning-sandbox.com/forum.jspa?forumID=811 Licensed to Yuri Delfino <[email protected]> brief contents PART I: INTRODUCTION AND FIRST STEPS 1. Introduction to Play 2 2. The parts of an application 3. A basic CRUD application PART II: CORE FUNCTIONALITY 4. An enterprise app, Play-style 5. Models and persistence 6. Controllers—handling HTTP requests 7. Handling user input 8. View templates—producing output 9. Security 10. Testing your applications 11. Deployment PART III: ADVANCE TOPICS 12. Client-side development and Play 13. SBT project management 14. Convenience libraries 15. Cloud integration ©Manning Publications Co. Please post comments or corrections to the Author Online forum: http://www.manning-sandbox.com/forum.jspa?forumID=811 Licensed to Yuri Delfino <[email protected]> 1 Introduction to1 Play 2 This chapter covers: What the Play framework is What high-productivity web frameworks are about Why Play supports both Java and Scala What a minimal Play application looks like Play isn’t really a Java web framework. Java’s involved, but that isn’t the whole story. The first version of Play may have been written in the Java language, but it also ignored the conventions of the Java platform, providing a fresh alternative to excessive enterprise architectures. Play was not based on Java Enterprise Edition APIs and made for Java developers.
    [Show full text]
  • Play2sdg: Bridging the Gap Between Serving and Analytics in Scalable Web Applications
    Play2SDG: Bridging the Gap between Serving and Analytics in Scalable Web Applications Panagiotis Garefalakis M.Res Thesis Presentation, 7 September 2015 Outline •Motivation •Challenges ➡Scalable web app design ➡Resource efficiency ➡Resource Isolation •In-memory Web Objects model ➡Play2SDG case study ➡Experimental Results •Conclusions •Future work 2 Motivation • Most modern web and mobile applications today offer highly personalised services generating large amounts of data • Tasks separated into offline (BE) and online (LC) based on the latency, computation and data freshness requirements • To train models and offer analytics, they use asynchronous offline computation, which leads to stale data being served to clients • To serve requests robustly and with low latency, applications cache data from the analytics layer • Applications deployed in large clusters, but with no collocation of tasks to avoid SLO violations • No data freshness guarantees and poor resource efficiency 3 Typical Web App • How does a typical scalable web application look like? • There is a strict decoupling of online and offline tasks • With the emerge of cloud computing, these applications are deployed on clusters with thousands of machines Cluster A Load Balancer Web Server Web Application Database Server HTTP Request HTTP Response Business Presentation Database Data Model Data Intensive Batch Processing Data Dashed Line: Offline Task Cluster B Trained Models 4 Challenges: Resource Efficiency • Most cloud facilities operate at very low utilisation, hurting both cost effectiveness and future scalability • Figure depicts a utilisation analysis for a production cluster at Twitter with thousands of servers, managed by Mesos over one month. The cluster mostly hosts user-centric services • The aggregate CPU utilisation is consistently below 20%, even though reservations reach up to 80% of total capacity Delimitrou, Christina, and Christos Kozyrakis.
    [Show full text]
  • Technical Expertise
    www.ultantechnologies.com Technical Expertise Subject: Ultan Technologies Technical Expertise Author: Cathal Brady Date Published: 01/03/2016 Version Number: Version 1 www.ultantechnologies.com Contents 1 INTRODUCTION ..................................................................................................................... 1 2 .NET ....................................................................................................................................... 1 3 DATABASES ........................................................................................................................... 2 4 BIG DATA ............................................................................................................................... 2 5 JAVA ...................................................................................................................................... 3 6 PHP, RUBY, PYTHON .............................................................................................................. 3 7 FRONT END............................................................................................................................ 4 8 3RD PARTY INTEGRATION, APIs, PLUGINS ............................................................................. 4 9 CONTINUOUS INTEGRATION / BUILD AUTOMATION / VERSION CONTROL .......................... 4 10 MOBILE DEVELOPMENT ........................................................................................................ 5 11 CRM CUSTOMISATION .........................................................................................................
    [Show full text]
  • Play Framework One Web Framework to Rule Them All
    Play Framework One Web Framework to rule them all Felix Müller Agenda Yet another web framework? Introduction for Java devs Demo Conclusion Yet another web framework? Yet another web framework? Why we need another web framework? Existing solutions: Servlets (Java EE, Spring MVC), Ruby on Rails, Grails, Django, node.js Yet another web framework? Threaded Evented 1 thread per 1 thread per cpu request core threads may block threads shall never during request block processing Yet another web framework? Threaded Evented Servlets Node.js Ruby on Rails Play Framework Grails Django Yet another web framework? Play is completely asynchronous state is not stored server-side horizontally scalable out of the box and a lot other goodies... Introduction for Java devs Play Console play new <appName> play compile|test|run|debug|clean-all play ~compile|test|run Play Console Application structure Application structure app directory contains source code, templates and assets standard packages based on MVC: app/controllers app/models app/views Application structure public directory is default for assets as css and javascript files public/stylesheets public/javascripts public/images served directly by web server Routes configuration contains url to controller mapping statically typed pattern: <HTTP method> <url> <controller> Controllers action: method that processes a request and produces a result to be sent to the client controller: a class extending play.mvc.Controller that groups several action methods Controllers Templates built-in
    [Show full text]
  • The Curious Coder's Java Web Frameworks Comparison Spring Mvc, Grails, Vaadin, Gwt, Wicket, Play, Struts and Jsf
    THE CURIOUS CODER'S JAVA WEB FRAMEWORKS COMPARISON SPRING MVC, GRAILS, VAADIN, GWT, WICKET, PLAY, STRUTS AND JSF All rights reserved. 2013 © ZeroTurnaround OÜ 1 TABLE OF CONTENTS INTRODUCTION LET'S GET CURIOUS... 1-4 PART I WARMING UP 5-23 PART II GOING NINJA 24-40 PART III THE RESULTS! 41-44 SUMMARY OF FINDINGS AND GOODBYE COMIC 45-47 All rights reserved. 2013 © ZeroTurnaround OÜ 2 INTRODUCTION LET'S GET CURIOUS... Web Frameworks are all very different and have typically been created for different reasons and to achieve different goals. Which Java Web Framework will you use in your next project and why would you chose one over the other? There are many features which may sway your decision and of course it will depend on the type of app you’re building. All rights reserved. 2013 © ZeroTurnaround OÜ 3 Why do we need Web Frameworks? Well, coding good-looking web applications in Java isn’t super easy at time. In fact, let’s just say it sucks. It can be hard to do and mostly doesn’t give SPRING MVC 30% us the rich front-end we strive to deliver to happy users. This is really the catalyst which has caused Web Frameworks to be created. Both, functional JSF and non-functional web app requirements have led to the need for various 23% web frameworks to be created, but this brings us to the opposite problem... there are so many choices out there to use, which web framework should you pick for your next web app? STRUTS 17% GOOGLE WEB We thought it made sense to follow up on TOOKIT 14% the Java Web Frameworks section of our popular Developer Productivity Report PLAY! 8% and see what we had in there back in WICKET 2012.
    [Show full text]
  • Play! Framework Ve Postgresql Uygulamaları
    Play! Framework ve PostgreSQL Uygulamaları Biz Kimiz? ● Şakir Çağlar Toklu – Proje Yöneticisi, TTG Uluslararası LTD. ● Ahmet Yunus Kokulu – Yazılım Geliştirici, TTG Uluslararası LTD. İçindekiler ● FAMAN ve TTeX Ürünleri ● Prensipler ● Play! Hakkında ● Bir Play! Projesi ● Play! ile veritabanı bağlantısı ● Play! Ile veritabanının oluşturulması ● Sequence ● Index ● Miras ● Zamanlı Görevler ● Birim Test Yöntemleri FAMAN ve TTeX Ürünleri ● FAMAN (Fault Management) ● TTeX (Trouble Ticketing) ● Telekom ● Avrupa Birliği kapsamında, Ericsson ile beraber, KKTC Telefon Dairesi Projesi ● Daha önce Oracle ve ASP.NET FAMAN ve TteX Verileri ● SNMP Adaptörü ● CORBA Adaptörü ● Web Arayüzü ● Canlı veri Prensipler ● Kendini Tekrar Etme! (DRY) ● En az ayarlama ● Taşınabilirlik ● Uzaktan Müdahele ● Çeviklik Neden PostgreSQL? ● Proje Gereksinimleri ● Devrim Gündüz ● Geliştirme Ortamı Özgürlüğü ● Platformdan Bağımsızlık ● Kolayca eski sürümlere veya ileri sürümlere geçebilme, uyumluluk testleri ● Veri bütünlüğü ● Lisans: PostgreSQL (MIT+BSD) ● Fiyat Geliştirme Araçları ● Ubuntu, Linux Mint, CentOS ● BitNami LAPPStack ● BitNami WAPPStack ● Play! Framework ● Eclipse ● Bazaar Play! Framework Hakkında - 1 ● MVC (Model-View-Controller) ● Java EE değil ● Play! 1.2.x, Java, Groovy, Scala ● Play! 2, Scala, Java ● Sıfır paylaşım (Share Nothing) ● Veritabanı bağımsızlığı ● Yeniden derleme ve yükleme ● H2 ve Netty sayesinde hemen çalışmaya başlayabilme Play! Framework Hakkında - 2 ● Web sunucu olarak JBoss Netty ● Hibernate / JPA ● Groovy, şablon dili ● H2 veritabanı Nesne
    [Show full text]