Presentation is loading. Please wait.

Presentation is loading. Please wait.

IBM BlueMIX pradmenys (aplikacijų talpinimas) (java-mysql; php-mysql atvejai) Autorius: Jonas Skendelis © 2014, Visos teisės saugomos Pastaba: prezentacija.

Similar presentations


Presentation on theme: "IBM BlueMIX pradmenys (aplikacijų talpinimas) (java-mysql; php-mysql atvejai) Autorius: Jonas Skendelis © 2014, Visos teisės saugomos Pastaba: prezentacija."— Presentation transcript:

1 IBM BlueMIX pradmenys (aplikacijų talpinimas) (java-mysql; php-mysql atvejai) Autorius: Jonas Skendelis © 2014, Visos teisės saugomos Pastaba: prezentacija parengta 2014 m. pavasarį, tad kai kurie elementai jau pasikeitę, nes Bluemix aplinka vystosi, tačiau patys principai išlikę tie patys. Be to, prezentatacija skirta pateikti „gyvai“, tad greta jos prijungti ir visi pradiniai tekstai.

2 Debesis – kažkas, kažkur, kažkaip, - pateikiantis tai, ko reikia
IBM BlueMIX debesis Debesis – kažkas, kažkur, kažkaip, - pateikiantis tai, ko reikia IBM BlueMIX – PaaS (Platform as a Service) cloud platforma, realizuota Open Source principais (Cloud Foundry), orientuota aplikacijų kūrimui, naudojant Open Source resursus

3 Šios rezentacijos dėmesio sritys: Liberty for Java, PHP
Web sprendimų tipai Šios rezentacijos dėmesio sritys: Liberty for Java, PHP Kitos: Node.js, Python, Ruby ...

4 Prezentacijos dėmesio sritis: MySQL
Leidžiami DB pasirinkimai Prezentacijos dėmesio sritis: MySQL Kitos: NoSQL, DataWorks, ClearDB, ElephantSQL, MongoDB, Postgress...

5 Taikomoji aplikacija, naudojanti MySQL
Legenda: Sukurti aplikaciją BlueMIX terpėje; Sukurti arba prijungti servisą (MySQL); Serviso pasijungimo parametrai (VCAP_SERVICES)

6 Pasižiūrim „gyvai“ ! …

7 PHP: Labas, pasauli! Sukuriam „baisiai didelį" PHP puslapį:
<!DOCTYPE html> <html><head> <title>PHP: Labas, Pasauli!</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <link rel="stylesheet" href="style.css" /> </head> <body> <?php print "<P><B>Labas, Pasauli!</B>"; ?> </body> </html>

8 ... Ir išmetam į „debesis"! Žiūrim kas yra meniu: Start Coding >
a) download cf.exe; b) download Starter code; c) Connect to BlueMIX: cf api d) Login: cf login -u e) Panagrinėjam: manifest.yml f) Upload: cf push PHP-jonas Kiek palaukiam ir VISKAS! Patikrinam:

9 O dabar ... tebūnie su MySQL
Pasijungimo parametrai (VCAP_SERVICES): { "mysql-5.5": [ "name": "mysql-java", "label": "mysql-5.5", "plan": "100", "credentials": { "name": "d47e8ad20fd864e7e8c05075cf643eb9d", "hostname": " ", "host": " ", "port": 3307, "user": “XXXXXX", "username": “UUUUUU", "password": “PPPPPP", "uri": } ]

10 PHP: Parodyti MySQL versiją
$key = "VCAP_SERVICES"; $value = getenv ( $key ); $vcap_services = json_decode($_ENV["VCAP_SERVICES" ]); $db = $vcap_services->{'mysql-5.5'}[0]->credentials; $mysql_database = $db->name; $mysql_port=$db->port; $mysql_server_name =$db->host . ':' . $db->port; $mysql_username = $db->username; $mysql_password = $db->password; $con = mysql_connect($mysql_server_name, $mysql_username, $mysql_password); if (!$con) { die ('connection failed' . mysql_error()); } $dbselect = mysql_select_db($mysql_database, $con); if ( ! $dbselect ) { echo "<P>ERR:" . mysql_error(); } $strsql = "SELECT VERSION() AS V"; $R ( $strsql ); echo '<P>Version: '. mysql_result($R, 0, 0) ; mysql_free_result ( $R ); mysql_close();

11 Būtinas: MySQL Connector/J (jar file)
Java sprendimų talpinimas O dabar - tebūnie JAVA ! Būtinas: MySQL Connector/J (jar file)

12 Java: gauti prisijungimo parametrus
import java.util.Map; import java.net.URI; import org.json.simple.JSONArray; import org.json.simple.JSONObject; import org.json.simple.parser.JSONParser; // … Map<String, String> env = System.getenv(); String usr, pwd, url; if (env.containsKey("VCAP_SERVICES")) { JSONParser parser = new JSONParser(); JSONObject vcap = (JSONObject)parser.parse(env.get("VCAP_SERVICES")); JSONObject service = null; for (Object key : vcap.keySet()) { String keyStr = (String) key; if (keyStr.toLowerCase().contains("mysql-5.5")) { service = (JSONObject) ((JSONArray) vcap.get(keyStr)).get(0); break; } if (service != null) { JSONObject creds = (JSONObject) service.get("credentials"); URI uri = URI.create((String) creds.get("uri")); url = "jdbc:mysql://" + uri.getHost() + ":" + uri.getPort() + uri.getPath(); usr = uri.getUserInfo().split(":")[0]; pwd = uri.getUserInfo().split(":")[1];

13 Java: Parodyti MySQL versiją
import java.io.InputStream; import java.io.IOException; import java.sql.*; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; static final String JDBC_DRIVER = "com.mysql.jdbc.Driver"; Class.forName(JDBC_DRIVER, true, this.getClass().getClassLoader()); Connection conn = DriverManager.getConnection(url, usr, pwd); Statement st = conn.createStatement(); ResultSet rs = st.executeQuery("SELECT VERSION()"); String outputString = “<P>Labas, MySQL”; if (rs.next()) { outputString = ": version:" + rs.getString(1); } rs.close; st.close(); conn.close(); response.getWriter().println(outputString);

14 Ir tebūnie šviesa! Palaukiam ir .... VISKAS !
Surenkam viską į vieną vietą; Eksportuojam WAR Peržiūrim manifest.yml Kraunam „debesin“.... cf push JonasFirst -p HelloSQL.war Palaukiam ir VISKAS ! Patikrinam:

15 Ačiū už dėmesį ! Pageidaujant prezentacijos „gyvai“ - kreipkitės į
Pradinius tekstus galite pasiimti adresu:


Download ppt "IBM BlueMIX pradmenys (aplikacijų talpinimas) (java-mysql; php-mysql atvejai) Autorius: Jonas Skendelis © 2014, Visos teisės saugomos Pastaba: prezentacija."

Similar presentations


Ads by Google