FOSS
Transcription
FOSS
P a g e |1 FOSS In the context of free and open-source software, free refers to the freedom to copy and re-use the software, rather than to the price of the software. Free and open-source software is an inclusive term which covers both free software and open source software. In 1983, Richard Stallman, longtime member of the hacker community at the MIT Artificial Intelligence Laboratory, announced the GNU project, saying that he had become frustrated with the effects of the change in culture of the computer industry and its users. A free software license is a software license which grants recipients rights to modify and redistribute the software, which would otherwise be prohibited by copyright law. In the mid-80s, the GNU project produced individual free software licenses for each of its software packages. These were all replaced in 1989 with version 1 of the GNU General Public License (GPL). Free software, as defined by the Free Software Foundation, is software which can be used, copied, studied, modified and redistributed without restriction. Sample Projects Face Detection Using Skin Color and Neural Network Hospital management System College Management Information System - II Online Banking Online Shopping Service System e-Bansawali e-Ticketing Java Java is a programming language originally developed by James Gosling at Sun Microsystems (which is now a subsidiary of Oracle Corporation) and released in 1995 as a core component of Sun Microsystems' Java platform. It is intended to let application developers "write once, run anywhere". Java is currently one of the most popular programming languages in use, and is widely used from application software to web applications. Java uses an automatic garbage collector to manage memory in the object lifecycle. The programmer determines when objects are created, and the Java runtime is responsible for recovering the memory once objects are no longer in use. The syntax of Java is largely derived from C++. Exclusively as an object-oriented language. All code is written inside a class, and everything is an object, with the exception of the primitive data types (integers, floating-point numbers, boolean values, and characters), which are not classes for performance reasons. P a g e |2 Java suppresses several features (such as operator overloading and multiple inheritance) for classes in order to simplify the language and to prevent possible errors and anti-pattern design. Java is an island where coffee is made and exported. The beans grown there are called Java beans, and the coffee is called Java coffee. In the US, Java is slang for coffee in general. So it only makes sense that Sun would use a cup of coffee for the Java logo (they also use a coffee bean for some of their Java-based programs). JSP JavaServer Pages (JSP) is a technology based on the Java language and enables the development of dynamic web sites. JSP was developed by Sun Microsystems to allow server side development. JSP files are HTML files with special Tags containing Java source code that provide the dynamic content. JavaServer Pages (JSP) is a Java technology that helps software developers serve dynamically generated web pages based on HTML, XML, or other document types. JSPs are compiled into servlets by a JSP compiler. P a g e |3 Databases A database is a system intended to organize, store, and retrieve large amounts of data easily. A database allows you to manage and use an incredible variety of information easily. Databases are easy to set-up, easy to manipulate and easy to use. A database allows you to maintain order in what could be a very chaotic environment. ER diagrams and Schema diagrams Tables Columns Queries Query tools Desktop Applications versus Web Applications There has been a long running debate about web applications replacing desktop software applications. Web 2.0 : The term Web 2.0 is associated with web applications that facilitate interactive systemic biases,interoperability, user-centered design,[1] and developing the World Wide Web Advantages for users o o o o o o no installation and updating access from anywhere with the internet data is stored remotely cross-platform compatibility better suitable for low-end computers and require little disk space client computer is better protected from viruses as the app is sandboxed inside a browser Disadvantages for users o o o desktop applications have better user experience require internet access the remote server could be compromised leaking private information Advantages for developers o o o o o easier to monitor every user actions, get full statistics and feedback you can choose to completely control the server-side code making it impossible to pirate easier to add collaboration possibilities as data is stored on the server easier to make a mobile version if you use HTML and JS easier integration with web services Disadvantages for developers o o as it isn’t a native application it has a lot of restrictions and limitations less tools and frameworks for development P a g e |4 CSS Cascading Style Sheets (CSS) is a style sheet language used to describe the presentation semantics (the look and formatting) of a document written in a markup language CSS is designed primarily to enable the separation of document content (written in HTML or a similar markup language) from document presentation, including elements such as the layout, colors, and fonts Architecture of a web application Client Tier The client tier interacts with the users for the solution. Since the application conforms to a three layered services application it hosts the presentation layer components. Application Tier The servers used in the application tier are responsible for hosting all the application's business components and, in the case of Web applications, the Web servers as well. Data Tier The servers in the data tier host the databases that the application requires; it is within this tier that the data layer is hosted.