LAMP
A Simplified & Reliable Solution for Information Management Compiled by: Gnaneswara Rao Tuta
Web based data handling •Traditional client‐server (2‐tier architecture): A client computer handles the user interface (Access Forms, Oracle Forms, Reports) and a database server stores the data. The actual functionality (business logic) of the application resides on the client and/or in the databases •Web‐based (multi‐tier architecture): A client computer uses a browser to access information from two or more servers (web servers, application servers, database servers) (i.e.) A web server handles web requests, an application server handles dynamic requests and a database server stores the data)
Clients 2/28/2009
Application Servers (eg. web servers)
Database Server TG2
Three‐Tier Architecture
2/28/2009
TG3
Benefits of Web based solutions •Free Infrastructure: A major benefit is that the whole infrastructure is already in place and well developed. Only a web browser is needed. The new applications can be available to all the relevant users immediately – IT support staff do not have to go to each client workstation to install the Client Software •Free Upgrades: As the application resides on the server, new versions will be immediately and simultaneously available to every user. There is no need to distribute updated application files to every user. •Interchangeable components: It is possible to exchange either the server or the browser without breaking the application. 2/28/2009
TG4
Web Technologies Client‐side •HTML (HyperText Markup Language) •CSS (Cascading Style Sheets) •XML (Extensible Markup Language) •DTD (Document Type Declaration) •XSLT (Extensible Style Sheet Language Translator) •JavaScript •VBScript/Jscript •Animation (Flash ) •Dynamic Hypertext Markup Language (DHTML – HTML, JavaScript, CSS & Document Object Model (DOM)
2/28/2009
TG5
Web Technologies Server‐side o PHP o ASP (Active Server Pages) & ASP.NET o JSP (Java Server Pages) o Java Servlets o C++/Java o PERL o XML Database ODBC JDBC OleDB
2/28/2009
TG6
Open Source Software
Software in a community that is: Freely Used (no warranty, no limits on usage) Source code is available for any modifications Freely Extended (must share source, represent original works and owners) License is not specific to a product or restrict other software and also technology neutral.
Thereʹs always plenty of professional and peer support from documentation and mailing lists.
Runs on any Platform. Bugs are fixed rapidly, and requests for features are always heard, evaluated, and if feasible, implemented.
2/28/2009
TG7
LAMP Linux
*nix flavour that is all the rage at the moment. Similar to Unix but free and runs on just about anything.
Apache
Most popular web page serving software
MySQL
Open source SQL database that is free and extremely powerful
•Free •Coordinated •Cross‐platform •Plenty of support
PHP
2/28/2009
PHP (Hypertext Preprocessor) is mainly focused on server‐side scripting, so you can do anything any other CGI program can do, such as collect form data, generate dynamic page content, or send and receive cookies. But PHP can do much more. TG8
AMP
One of the most powerful development models for the Web has been the notion of “AMP.”
AMP stands for “Apache / MySQL / PHP & Perl working together.”
Apache is the industry-leading web server that runs a majority of web servers on the Internet.
MySQL is a very popular database that runs on most operating systems.
PHP / Perl is a general purpose scripting environment widely used for building dynamic web sites.
Together, Together, they they form form the the nucleus nucleus of of aa web web application application system. system. 2/28/2009
TG9
Apache ‐ Advantage •Apache is well supported ‐ Most support for Apache is free and available 24 hours a day via Internet mail or newsgroups. •Apache is multi‐platform ‐ Apache can run on virtually any hardware platform (from PCs to mainframes), and almost any operating system, such as Linux, Windows, NetWare, Macintosh, xBSD, etc. •Apache is secure ‐ security holes are rare but when they exist they are discovered and fixed quickly •Apache is extensible ‐ anyone can write modules that easily plug in to Apache. If Apache doesnʹt do what you want or need it to do, anyone with programming skills can write the modules you need. •Apache is database‐friendly ‐ you can interface Apache with virtually any commercial database, such as Oracle, Sybase, DB2, and Informix, as well as free databases such as MySQL and Postgres. •Apache is hardware‐friendly ‐ Apache generally consumes far fewer hardware resources that commercial web servers. •No Microsoft Viruses ‐ Apache is immune to the Code Red, Nimda, and other viruses that target at Microsoft Web servers. 2/28/2009
TG10
MySQL ‐ Benefits •The largest growing relational database out on the market as it can handle large databases that can be accessed over the Web ‐ Meets the ANSI SQL92 regulations (SQL‐Structured Query Language) •Mainly runs on UNIX‐based environments, but also used on windows •One of the most used open source databases in the world. •Capacity to handle 50,000,000+ records. •Very fast command execution, perhaps the fastest to be found on the market. •Flexible and secure password system to protect your data ‐ powerful security system •Fast, reliable, easy to use, and affordable! •Easy to get support •Comes with a source code •Multi‐User and works on Several Platforms 2/28/2009
TG11
MySQL Control Center •Graphical administrative interface for MySQL database(s) •Can administer several DB servers that are hosted on different machines
2/28/2009
TG12
PHP ‐ Benefits •Easy, powerful, popular •Server‐side scripting language •Supports many DB’s (not only MySQL) •Platform Independent •Web Server Independent •Free and Open Source PHP Overtakes Microsoft ASP as the Web’s Number 1 server side Web technology for the Internet. •An April Netcraft surveys indicate 24 percent of the 37.6 million websites, or are running PHP scripts. PHP adoption is growing by 6.5 percent each month. (9 million sites)
2/28/2009
TG13
How it works
2/28/2009
TG14
PHP Overview •Easy learning curve •Syntax Perl‐ and C‐like syntax. Relatively easy to learn. Syntax •Large function library •Embedded directly into HTML •Open Source server‐side scripting language designed specifically for the web. •Conceived in 1994, now used on +10 million web sites. •Outputs not only HTML but can output XML, images (JPG & PNG), PDF files and even Flash movies all generated on the fly. Can write these files to the filesystem. •Supports a wide‐range of databases (20 + ODBC). •PHP also has support for talking to other services using protocols such as LDAP, IMAP, SNMP, NNTP, POP3, HTTP. 2/28/2009
TG15
MySQL Overview
Fast, free, stable database Syntax is similar to Oracle Many of the same features as Oracle Production version still missing subqueries, stored procedures, and triggers Frequently used in conjunction with Linux, Apache, and PHP 2/28/2009
TG16
Project Development 1. Project analysis •Certain/Possible Goals •Resources 2. Technology •Total Cost of Ownership (TCO) •Evaluation •Decision 3. Implementation •Building the project •Fixing Bugs •Set to Use 4. How to overcome the problems? 2/28/2009
TG17
Adopting Solution for EML Major Issues
Areas of adoption Integrity with Current deployed systems Data Portability / Usability Security / Access Control Technical Support (System as well as Data)
Minor Issues
Pre‐defined Reporting Remote Access of data Up‐gradations
2/28/2009
TG18
Infrastructure Recommended for EML Fleet Applications (Remote)
Fleet Database/s
Data Integration
Fleet Applications (Local)
ERP Applications (Local)
Local ERP Database/s
3rd Party Application to Access relevant Data
External Data Dump from 3rd Party
D A T A W A R E H O U S E
Standard SQL Query
CENTRAL INFORMATION STORE/ EXCHANGE Data Dump based on SQL Query
Customized MySQL Data Base With Administrator Definable Access Control
Application Server/ Web Server (User Interface /Front End Definitions)
No Return Data
NETWORK User / Client Machine-1
User / Client Machine-2
User / Client Machine-3
User / Client Machine- n
Requirements in a Nutshell
Information Access & Usability Definitions Forming organization chart according to process hierarchy & reporting methodology Pre‐definition of management designations/role types
Data Ware House Planning & Deployment Centralizing database under single database model & engine as far as possible Defining every database & database engine with unique parameters Documenting the model & defining the modification methodology
Prototype design of Information Store/Exchange OLAP Design for Instantaneous Analytical data handling OLTP Design for Data Historical Data handling Defining 1st Level data security & Access control Reports (Both Historical & Analytical)
Web Interface design (Server & Client) 2nd level Security Predefined Data Access Pages for a user Functional features to enable printing, emailing & converting reports/formats
2/28/2009
TG20
Future Flexibility Similar type architecture can be developed for vessel & branch offices as a simple ‘Remote Information Management System’ DB Schemas can be developed according to future expansion plans/Mandatory Implications (if any) from Industry Regulations. Web Interface Styles can be modified according to more ease/operation/presentation without much complications
2/28/2009
TG21
How to Go about it 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Developing Test Environment Making a Prototype Model with preset baselines & Define Phases of Deployment Test every phase developed step by step and document/fix the flaws On Successful testing, Setting the time frame for live deployment. Risk Assessment & Systems Down Time Estimation Educating management & Staff Deployment according to Schedule Live Testing Training Commissioning
2/28/2009
TG22
Resources
Requirement Study In‐house Expertise
Systems Frame Work & Project Development In‐house Expertise (in coordination with vendors/supplier)
Value Engineering & Project Management In‐house Expertise
Database Modeling & Design Hire/Out‐source
Web Interface Design Hire/Out‐source
2/28/2009
TG23